
Linux磁盘三种扩容方式和分区表重做;LVM移除恢复;取消挂载
·
一、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/sda
2、创建物理卷并加入加入vg
pvcreate /dev/sda4 && vgextend vg_os /dev/sda4
3、创建逻辑卷(注意逻辑卷的名字不要搞错,建议用lvs查看一下)
lvcreate -L 50G -n lv_data vg_os
4、制作文件系统并挂载
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/sda
2、创建pv
pvcreate /dev/sda5
3、vgextent对卷组vg_os扩容
vgextend vg_os /dev/sda5
4、在原有基础上扩容+20G
lvextend -L +20G /dev/mapper/vg_os-lv_var
5、文件系统扩容
xfs_growfs /dev/mapper/vg_os-lv_var
####LVM新盘单独挂载数据####
1、创建分区并刷新
fdisk /dev/sdb && partprobe /dev/sdb (+500G)
2、创建pv
pvcreate /dev/sdb1
3、创建卷组
vgcreate vg1 /dev/sdb1
4、创建逻辑卷(注意逻辑卷的名字不要搞错,建议用lvs查看一下)
lvcreate -L 50G -n lv_data vg1
5、制作文件系统并挂载
mkfs.xfs /dev/mapper/vg1-lv_data && mount /dev/mapper/vg1-lv_data /data && vim /etc/fstab
2、给虚拟机新增一块磁盘,为这块磁盘新建一个分区,把这个新分区扩容到原有分区
注释:这种就是把另一块磁盘的磁盘空间加入到需要扩容的卷组里面去,通过卷组去给磁盘分区扩容
1、创建分区并刷新
fdisk /dev/sdb && partprobe /dev/sdb
2、创建物理卷并加入加入vg
pvcreate /dev/sdb1 && vgextend centos /dev/sdb1
3、此时卷组有空间了就可以对分区进行扩容
lvextend -L +2G /dev/mapper/centos-root
4、文件系统扩容
xfs_growfs /dev/mapper/centos-root
3、给虚拟机新增一块磁盘,并把整个磁盘空间扩容到原有分区卷组
注释:一般不建议用这种,把所有磁盘空间加到卷组里面就没有回旋余地了,用第二种需要多少就给卷组加多少是生产中经常用到的
1、创建物理卷并加入加入vg
pvcreate /dev/sdc && vgextend centos /dev/sdc
2、此时卷组有空间了就可以对分区进行扩容
lvextend -L +2G /dev/mapper/centos-root
3、文件系统扩容
xfs_growfs /dev/mapper/centos-root
二、分区表重做
注释:一般是先把lv跟vg移除以后再把分区表重做好点
[root@localhost dev]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome 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/lv2
Do 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挂载到了 /home
umount /home
umount -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 #所有符合挂载的都会重新加载,也可以用来检测挂载是否正确
更多推荐
所有评论(0)