一、Linux磁盘扩容
1、直接给 / 分区(或者某一分区)扩容,直接在原有磁盘上增大空间
2、给虚拟机新增一块磁盘,为这块磁盘新建一个分区,把这个新分区扩容到原有分区卷组
3、给虚拟机新增一块磁盘,并把整个磁盘空间扩容到原有分区卷组
注释:一般实际情况都是采用第二种方式,后期空间不够还可以继续创建分区去扩容,而不是把整个磁盘空间都扩容到原有分区,第2、3方式其实逻辑上是一样的道理,一个是把整个磁盘分成一个个的分区去扩容,一个是把整个磁盘去扩容
第一步,拥有基本分区做成物理卷: pv ------- sdb1、sdb2 打pv的标记。加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上制作文件系统------mkfs.xfs lvm路径挂载 ------mount 使用lvm#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
1、直接给 / 分区(或者某一分区)扩容,直接在原有磁盘上增大空间
注释:实际生产一般都不会把整块磁盘释放出来,就在原有磁盘创建新的分区去扩容
######创建LVM挂载#####1、创建分区并刷新fdisk /dev/sda && partprobe /dev/sda2、创建物理卷并加入加入vgpvcreate /dev/sda4 && vgextend vg_os /dev/sda43、创建逻辑卷(注意逻辑卷的名字不要搞错,建议用lvs查看一下)lvcreate -L 50G -n lv_data vg_os4、制作文件系统并挂载mkfs.xfs /dev/mapper/vg_os-lv_data && mount /dev/mapper/vg_os-lv_data /data && vim /etc/fstab####LVM扩容####如果vg有空间的话之间执行第四步跟第五步就好了1、创建分区并刷新fdisk /dev/sda && partprobe /dev/sda2、创建pvpvcreate /dev/sda53、vgextent对卷组vg_os扩容vgextend vg_os /dev/sda54、在原有基础上扩容+20Glvextend -L +20G /dev/mapper/vg_os-lv_var5、文件系统扩容xfs_growfs /dev/mapper/vg_os-lv_var####LVM新盘单独挂载数据####1、创建分区并刷新fdisk /dev/sdb && partprobe /dev/sdb (+500G)2、创建pvpvcreate /dev/sdb13、创建卷组vgcreate vg1 /dev/sdb14、创建逻辑卷(注意逻辑卷的名字不要搞错,建议用lvs查看一下)lvcreate -L 50G -n lv_data vg15、制作文件系统并挂载mkfs.xfs /dev/mapper/vg1-lv_data && mount /dev/mapper/vg1-lv_data /data && vim /etc/fstab
2、给虚拟机新增一块磁盘,为这块磁盘新建一个分区,把这个新分区扩容到原有分区
注释:这种就是把另一块磁盘的磁盘空间加入到需要扩容的卷组里面去,通过卷组去给磁盘分区扩容
1、创建分区并刷新fdisk /dev/sdb && partprobe /dev/sdb2、创建物理卷并加入加入vgpvcreate /dev/sdb1 && vgextend centos /dev/sdb13、此时卷组有空间了就可以对分区进行扩容lvextend -L +2G /dev/mapper/centos-root4、文件系统扩容xfs_growfs /dev/mapper/centos-root
3、给虚拟机新增一块磁盘,并把整个磁盘空间扩容到原有分区卷组
注释:一般不建议用这种,把所有磁盘空间加到卷组里面就没有回旋余地了,用第二种需要多少就给卷组加多少是生产中经常用到的
1、创建物理卷并加入加入vgpvcreate /dev/sdc && vgextend centos /dev/sdc2、此时卷组有空间了就可以对分区进行扩容lvextend -L +2G /dev/mapper/centos-root3、文件系统扩容xfs_growfs /dev/mapper/centos-root
二、分区表重做
注释:一般是先把lv跟vg移除以后再把分区表重做好点
[root@localhost dev]# parted /dev/sdbGNU Parted 3.1使用 /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) mklabel msdos 警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?是/Yes/否/No? yes (parted) quit 信息: You may need to update /etc/fstab.
三、LVM移除恢复
[root@localhost ~]# lvremove /dev/vg2/lv2Do you really want to remove active logical volume vg2/lv2? [y/n]: y Logical volume "lv2" successfully removed #先移除lv[root@localhost ~]# vgremove /dev/vg2 Volume group "vg2" successfully removed #再移除vg[root@localhost ~]# pvremove /dev/sdc Labels on physical volume "/dev/sdc" successfully wiped. #移除pv
四、Linux强行取消挂载
Linux系统有时需要取消挂载一些设备或者目录,背景:部署的服务默认路径存放/home,此时需要/home磁盘空间500G,磁盘空间不足,需要切换磁盘,把/home挂载到/sdb
# /dev/sda挂载到了 /homeumount /homeumount -l /home #强行卸载,即使目录有资源被进程占用,也可以卸载
取消挂载多半会提示:umount: /mnt/usb: target is busy
fuser -cu /home #查看挂载文件进程fuser -ck /home #结束进程#看个人情况,我一般喜欢用上面这个,直接取消挂载目录fuser -mv /dev/sda #或者查看挂载点进程fuser -mk /dev/sda #使用挂载点结束进程
如果已备份了数据需要强行卸载,可以尝试执行:umount -f /home
最后记得执行:
mount -a #所有符合挂载的都会重新加载,也可以用来检测挂载是否正确