linux磁盘管理:添加磁盘,lvm分区扩容
在vmware,virtualbox等虚拟化软件中,可以模拟硬盘扩展, 当空间不足时,可以添加一块新的硬盘,然后分区,格式化,并且挂载使用
文章目录
- 1, 硬盘分区, 格式化, 挂载
- 2, 硬盘添加到LVM,分区扩容
- a, 创建lvm新分区
- b, 扩容lvm已有分区
- c, lvm 缩容
1, 硬盘分区, 格式化, 挂载
[root@s101 ~]# history
739 fdisk -l #查看新增的硬盘
740 fdisk /dev/sdb #分区 ,p ,1 , w
741 fdisk -l # 查看是否分区成功: /dev/sdb1
742 mkfs.ext4 /dev/sdb1 # 格式化分区
743 mkdir /mysdb #创建目录,挂载到该分区
744 mount /dev/sdb1 /mysdb #可设置开机挂载: echo "/dev/sdb1 /mysdb ext4 defaults 0 0" >> /etc/fstab
2, 硬盘添加到LVM,分区扩容
现在的REHL系列的(cent6, cent7)系统默认使用LVM管理分区,此时可以方便的进行分区扩容缩容操作:解决已有的分区磁盘不够用
a, 创建lvm新分区
#1,在磁盘分区上创建pv(可选)
pvcreate /dev/sdb1
pvcreate /dev/sdb2
#2,在pv或磁盘上面创建vg
vgcreate vg1 /dev/sdb1 /dev/sdb2
#3,从vg里面划分一部分空间,命名为lv1
lvcreate -l 100%FREE -n vg1_lv1 vg1
#4,格式化该lv空间
mkfs.ext4 /dev/vg1/vg1_lv1
#5,挂载使用
b, 扩容lvm已有分区
- 需求: 现有的/: 14G , 新增磁盘sdc:8G , sdd:8G , 如何扩容/分区?
- 扩容vg:vgextend vgname /dev/sdc
- 扩容lv:
扩容20G: lvextend -L +20G /dev/cl/root
扩容全部空闲磁盘:lvextend -l +100%FREE /dev/mapper/cl-root 重新识别文件系统大小:
ext4文件系统:resize2fs -f /
xfs文件系统:xfs_growfs /[root@cent8 ~]# df -h #现有的磁盘分区大小 (/: 14G )
Filesystem Size Used Avail Use% Mounted on
devtmpfs 396M 0 396M 0% /dev
tmpfs 411M 0 411M 0% /dev/shm
tmpfs 411M 6.0M 405M 2% /run
tmpfs 411M 0 411M 0% /sys/fs/cgroup
/dev/mapper/cl-root 14G 3.9G 9.6G 29% /
/dev/sda1 976M 133M 777M 15% /boot
tmpfs 83M 4.0K 83M 1% /run/user/0[root@cent8 ~]# lsblk #新增磁盘sdc:8G , sdd:8G
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
|-sda1 8:1 0 1G 0 part /boot-sda2 8:2 0 7G 0 part |-cl-root 253:0 0 13.4G 0 lvm /
-cl-swap 253:1 0 1.6G 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk-sdb1 8:17 0 8G 0 part
-cl-root 253:0 0 13.4G 0 lvm /
sdc 8:32 0 8G 0 disk
sdd 8:48 0 8G 0 disk根分区扩容: (vg扩容: 添加pv —> lv扩容)
################1, 查看现有的vg, 扩容该vg
[root@cent8 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 2 2 0 wz—n- 14.99g 0从上面的vgs 命令结果可知: 该vg 没有可用空闲资源,所以需要添加额外的磁盘来扩容
[root@cent8 ~]# vgextend cl /dev/sdc #(vgextend自动在该磁盘创建pv)
Volume group “cl” successfully extended################2, 查看对应的分区映射的lv, 扩容该lv (扩容到指定大小)
从上面的df -h 命令结果可知: /分区 ————映射块设备为——-> /dev/mapper/cl-root
从上面的lsblk 命令结果可知: 映射块设备/dev/mapper/cl-root ——-包含两个pv—-> sda1, sdb1
[root@cent8 ~]# man lvextend
………….lvextend -L|--size [+]Size[m|UNIT] LV
[ -l|--extents [+]Number[PERCENT] ]
[ -r|--resizefs ]
[ -i|--stripes Number ]
[ -I|--stripesize Size[k|UNIT] ]
[ --poolmetadatasize [+]Size[m|UNIT] ]
[ COMMON_OPTIONS ]
[ PV ... ]
EXAMPLES
Extend the size of an LV by 54MiB, using a specific PV.
lvextend -L +54 vg01/lvol10 /dev/sdk3
Extend the size of an LV by the amount of free space on PV /dev/sdk3.
This is equivalent to specifying "-l +100%PVS" on the command line.
lvextend vg01/lvol01 /dev/sdk3
[root@cent8 ~]# lvextend -L 20G /dev/cl/root #扩容指定大小
# lvextend -l +100%FREE /dev/mapper/cl-root #扩容剩余全部空间
Size of logical volume cl/root changed from 13.39 GiB (3428 extents) to 20.00 GiB (5120 extents).
Logical volume cl/root successfully resized.[root@cent8 ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 396M 0 396M 0% /dev
tmpfs tmpfs 411M 0 411M 0% /dev/shm
tmpfs tmpfs 411M 6.0M 405M 2% /run
tmpfs tmpfs 411M 0 411M 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 14G 3.9G 9.6G 29% /
/dev/sda1 ext4 976M 133M 777M 15% /boot
tmpfs tmpfs 83M 4.0K 83M 1% /run/user/0ext4/ext3 文件系统:扩容文件系统 [ resize2fs -f / ]
[root@cent8 ~]# xfs_growfs /
meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=877568 blks= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=3510272, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 3510272 to 5242880[root@cent8 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 396M 0 396M 0% /dev
tmpfs 411M 0 411M 0% /dev/shm
tmpfs 411M 6.0M 405M 2% /run
tmpfs 411M 0 411M 0% /sys/fs/cgroup
/dev/mapper/cl-root 20G 3.9G 17G 20% /
/dev/sda1 976M 133M 777M 15% /boot
tmpfs 83M 4.0K 83M 1% /run/user/0
c, lvm 缩容
################## ext4 lvm 缩容 ##################
#卸载文件系统,并检查逻辑卷,然后缩容逻辑卷
umount /data
e2fsck -f /dev/mapper/vg1-lvol0
resize2fs /dev/mapper/vg1-lvol0 1g
#vg移除pv, 最后删除pv
vgreduce vg1 /dev/sdc
pvremove /dev/sdc
################## xfs lvm 缩容 ##################
#缩容逻辑卷, 重新识别xfs文件系统: lvreduce, lvresize
lvresize -L 3g /dev/mapper/vg1-lvol1
xfs_growfs /dev/mapper/vg1-lvol1 #xfs文件系统需要执行,需要先挂载
df -h #缩容成功
#vg移除pv, 最后删除pv
vgreduce vg1 /dev/sdc
pvremove /dev/sdc
还没有评论,来说两句吧...