linux初学者-磁盘拉伸缩减篇
在系统的使用过程中,往往会出现这样的问题,由于刚开始无法估计需要的磁盘空间,导致后期磁盘空间不够,使得数据没地方存储,又或者后期磁盘空间过大,造成资源的浪费。这种在使用之前无法估计磁盘大小的问题可以通过LVM来解决。
LVM时将一个或多个磁盘的分区在逻辑上集合,相当于一个大硬盘来使用,当磁盘空间不够时,可以将其他磁盘的分区空间加入其中,这样可以实现磁盘空间的动态管理。下文将对这种磁盘的拉伸和压缩空间进行介绍。
LVM里分为PV、VG、LV。在LV的空间用满了之后,就需要重新在VG中加入空间,当VG空间用完后,需要从PV中获取,当PV空间用完之后,就需要重新加入磁盘分区了,这样就可以实现在LV空间不足时的空间供给。PV、VG、LV的查看可以通过命令"pvs"、"vgs"和"lvs"来实现。
1、建立
建立时需要先新建一个分区,并将分区的功能标识设为LVM,即先输入"t",选定分区后输入"8e"。
输入"pvcreate 磁盘分区"创建一个PV,如下图所示。然后输入"vgcreate vg0 磁盘分区"来建立VG,"vg0"为VG的名称,可以自行设置。最后输入"lvcreate -L 200M -n lv0 vg0"来分配磁盘空间,其中"200M"为分配的磁盘大小,"lv0"为LV的名称,可以自行设置。
完成后会出现一个"/dev/vg0/lv0"磁盘分区,输入"mkfs.xfs /dev/vg0/lv0 -f"格式化这个分区,然后就可以进行挂载了。
2、添加空间
如下图所示,当分得的200M空间用完后,需要给lv0里面添加空间,则可以输入命令"lvextend -L 400M /dev/vg0/lv0"来添加400M的空间。但此时空间不会添加进去,需要对新加入的空间进行格式化,但不能使用"mkfs.xfs"来格式化,需要输入"xfs_growfs /dev/vg0/lv0"来格式化,完成后空间即可添加进去。
当VG和PV的空间都使用完后,需要重新从新的磁盘分区中添加,如下图所示,在PV中再添加一个磁盘分区,在分区建立好后,输入"pvcreate 新的磁盘分区"将磁盘分区添加到PV中,再输入"vgextend vg0 新的磁盘分区"将新加入的空间添加到vg中。
3、磁盘缩小
xfs的文件模式不能进行磁盘缩小,所以如果有需要用到磁盘缩小,需要将磁盘格式化成"ext4"文件模式。
如下图所示,在进行磁盘缩小之前,取消挂载后将文件格式格式化为"ext4"。
在进行磁盘缩小时,必须先缩小设备,再缩小lv0,缩小空间如下图步骤所示,先对设备取消挂载,再输入"e2fsck -f /dev/vg0/lv0"对设备中的文件进行扫描,使得数据安全,这样在缩减过度时会警告。完成后输入"resize2fs /dev/vg0/lv0 200M"即将设备缩减至200M,这是对设备进行缩减。完成后重新挂载,再输入"lvreduce -L 200M /dev/vg0/lv0"对lv0进行缩减。
"ext4"文件模式下的空间添加和xfs相同,但是在最后一步格式化添加空间时需要输入"resize2fs /dev/vg0/lv0",而不是输入"xfs_growfs /dev/vg0/lv0"。
4、PV中磁盘的移除
有多个磁盘并且空间还充足时,如果需要移除其中的一个磁盘,则需要进行以下操作:
如果移除的磁盘中有数据,就需要使用"pvmove 移除磁盘 其他磁盘"来将移除磁盘的数据移入其他磁盘当中。
完成数据移动或者移除磁盘没有数据,输入"vgreduce vg0 移除磁盘",将移除磁盘的空间从vg中取出来。最后输入"pvremove 移除磁盘"即可将指定磁盘移除。
5、数据备份
与快照相似,LVM中也提供快照备份的功能,例如下图,将目录挂载在/mnt下,并在其中建立10个文件,取消挂载后输入命令"lvcreate -L xxxM -n lv0-backup -s /dev/vg0/lv0"来对磁盘进行快照备份,xxxM为快照数据需要改变的大小,可以自行设置。完成后重新挂载到/mnt下。
快照备份完成后,输入"rm -fr /mnt/*"删除这10个文件,此时这10个文件并没有被永久删除,取消挂载后输入"lvremove /dev/vg0/lv0-backup"删除这个快照备份,再输入"lvcreate -L xxxM -n lv0-backup -s /dev/vg0/lv0"重新进行快照备份,完成后挂载到/mnt下,删除的10个文件就会重新出现。
6、LVM的移除
在不需要使用LVM时,就可以对LVM进行移除了。移除的步骤如下图所示:
首先取消挂载,输入"lvremove /dev/vg0/lv0-backup"删除快照,如果没有可忽略,输入"lvremove /dev/vg0/lv0"移除LV,输入"vgremove vg0"移除VG,输入"pvremove 磁盘分区"移除PV,至此LVM的移除就完成了。
完成后也可以输入"pvs"、"vgs"和"lvs"查看是否移除。
以上就是LVM在学习工作中的一些简要介绍与应用。
linux初学者-磁盘拉伸缩减篇的更多相关文章
- linux初学者-磁盘分区方式篇
linux初学者-磁盘分区方式篇 一般的计算机都会采用mbr分区方式,这种分区方式只能够建立四个主分区,如果还需要或更多的分区,就需要将其中一个主分区建立成一个扩展分区,在里面建立逻辑分区,这些分区信 ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- Linux中磁盘分区——理论篇
Linux中磁盘分区——理论篇 现在主流的分区的方式有两种——MBR分区和GPT分区,本文将着重介绍MBR分区底层原理,及用相关命令验证相关原理 Linux中磁盘分区理论篇 为什么要对磁盘进行分区 M ...
- linux初学者-NFS网络文件系统篇
linux初学者-NFS网络文件系统篇 在上一篇的SAMBA篇中介绍了linux系统和windows系统之间共用的网络文件系统CIFS,主要用于客户端是windows的情况.在linux系统之间,所用 ...
- linux初学者-CIFS网络文件系统篇
linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是 ...
- linux初学者-DNS集群篇
linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...
- linux初学者-延迟及定时任务篇
linux初学者-延迟及定时任务篇 在linux系统的学习工作中,南面会遇到需要延迟进行的任务和需要定时去完成的任务,就像手机的闹钟一样,这时候就需要用到linux系统当中的系统延迟和定时任务的设置了 ...
- linux初学者-普通磁盘分区篇
linux初学者-普通磁盘分区篇 磁盘是计算机的重要组成部分,是记录数据的场所.在使用磁盘时,经常需要对其进行分区来实现不同的用途.下文将介绍在linux系统中普通磁盘分区的方法. "fdi ...
随机推荐
- jquery中的ajax应用集锦
一,原生JS实现ajax: 1 2 3 4 5 6 7 8 9 10 11 function AjaxGet() { var xhrObj; ...
- java-mysql(2) Prepared statement
上一篇学习了java如何链接配置mysql,这篇学习下java如何处理sql预处理语句(PreparedStatement),首先是一个sql预处理的例子: package core; import ...
- SYN2306C型 GPS北斗授时导航接收机
SYN2306C型 GPS北斗授时导航接收机 北斗对时系统北斗标准同步时钟北斗卫星校时器使用说明视频链接: http://www.syn029.com/h-pd-222-0_310_36_-1.htm ...
- 用JavaScript刷LeetCode的正确姿势
虽然很多人都觉得前端算法弱,但其实 JavaScript 也可以刷题啊!最近两个月断断续续刷完了 leetcode 前 200 的 middle + hard ,总结了一些刷题常用的模板代码.走过路过 ...
- Metasploit实现木马生成、捆绑、免杀
原创博客,转载请注出处! 我的公众号,正在建设中,欢迎关注: Meatsploit介绍 2018/01/03 更新 Metasploit是一款优秀的开源(!= 完全免费)渗透测试框架平台,在该平台下可 ...
- vuex分模块4
Vuex下Store的模块化拆分实践 https://segmentfault.com/a/1190000007667542 vue.js vuex 猫切 2016年12月02日发布 赞 | 1 ...
- Java 8 并发编程
Java 1.5前 并发实现 Java Green Thread java 1.2 前的线程受os内核限制, 线程=进程, 绿色线程是JVM调度, 用来模拟多线程环境. 不需要本地线程支持. Java ...
- PATB 1018. 锤子剪刀布
时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图 ...
- 不懂数据库索引的底层原理?那是因为你心里没点b树
本文在个人技术博客不同步发布,详情可用力戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩... 前几天下班回到家后正在处理一个白天没解决的bug,厕所突然传来对象的声音: ...
- 关于java中构造方法、实例初始化、静态初始化执行顺序
在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...