逻辑卷扩容"/>
卷组扩容、逻辑卷扩容
背景
当前磁盘可用空间为200G左右,但是实际可用的只有100G。
[root@node4 ~]# fdisk -lDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ce327Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 101083135 50335744 8e Linux LVM
/dev/sda3 101083136 125829119 12372992 8e Linux LVM
/dev/sda4 125829120 209715199 41943040 5 Extended
/dev/sda5 125831168 209715199 41942016 83 Linux
部分字段说明:
- 第三行:该盘一共214.7G,xxx byes,xxx个sectors。
- 第四行:每个sectors的大小为512bytes.
- 第10到15行:为该磁盘的5个物理分区,其中sda4为扩展分区,sda5为扩展分区上划分的逻辑分区。sda1到sda3为主分区。其中start为其开始的sector编号,end为其结束的sector编号。Block为该物理分区包含的块数,经过计算可得,其块大小为(1K)。由观察可知,其分配图大概如下图所示:
- 说明:sda4为扩展分区,建立扩展分区之后,再次建立的物理分区将在扩展分区分配,因此,sda5和sda4基本重叠。
由图可知,还有100G的空间没用,因此,我们的目标是增大扩展分区,充分利用磁盘空间。
创建物理卷
首先尝试创建新的物理卷:
[root@node4 ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Command (m for help): pDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ce327Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 101083135 50335744 8e Linux LVM
/dev/sda3 101083136 125829119 12372992 8e Linux LVM
/dev/sda4 125829120 209715199 41943040 5 Extended
/dev/sda5 125831168 209715199 41942016 83 LinuxCommand (m for help): n
All primary partitions are in use
Adding logical partition 6
No free sectors availableCommand (m for help):
发现错误:No free sectors available
原因是,扩展分区已经已经被用尽了,没办法在上边创建新的物理分区了。
解决方法:删除sda4和sda5,重新创建扩展分区sda4和逻辑分区sda5。(注:本人的sda4和sda5上没存数据,因此直接删除了。如果你的sda4和sda5分区有数据,记得备份。)
Command (m for help): pDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ce327Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 101083135 50335744 8e Linux LVM
/dev/sda3 101083136 125829119 12372992 8e Linux LVM
/dev/sda4 125829120 209715199 41943040 5 Extended
/dev/sda5 125831168 209715199 41942016 83 LinuxCommand (m for help): n
All primary partitions are in use
Adding logical partition 6
No free sectors availableCommand (m for help): d
Partition number (1-5, default 5): 5
Partition 5 is deletedCommand (m for help): d
Partition number (1-4, default 4): 4
Partition 4 is deletedCommand (m for help): n
Partition type:p primary (3 primary, 0 extended, 1 free)e extended
Select (default e): e
Selected partition 4
First sector (125829120-419430399, default 125829120):
Using default value 125829120
Last sector, +sectors or +size{K,M,G} (125829120-419430399, default 419430399):
Using default value 419430399
Partition 4 of type Extended and of size 140 GiB is setCommand (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (125831168-419430399, default 125831168):
Using default value 125831168
Last sector, +sectors or +size{K,M,G} (125831168-419430399, default 419430399):
Using default value 419430399
Partition 5 of type Linux and of size 140 GiB is setCommand (m for help): pDisk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ce327Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 101083135 50335744 8e Linux LVM
/dev/sda3 101083136 125829119 12372992 8e Linux LVM
/dev/sda4 125829120 419430399 146800640 5 Extended
/dev/sda5 125831168 419430399 146799616 83 LinuxCommand (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
内核重新识别:
partprobe /dev/sda
卷组扩容
[root@node4 ~]# vgdisplay--- Volume group ---VG Name vg_srvSystem ID Format lvm2Metadata Areas 3Metadata Sequence No 12VG Access read/writeVG Status resizableMAX LV 0Cur LV 7Open LV 7Max PV 0Cur PV 3Act PV 3VG Size 99.79 GiBPE Size 4.00 MiBTotal PE 25547Alloc PE / Size 13824 / 54.00 GiBFree PE / Size 11723 / 45.79 GiBVG UUID D90rGn-vdYW-sEPa-4O7u-u30Q-bPZj-nTnLg9# 删除该卷组中旧的sda5
$ vgreduce vg_srv /dev/sda5# 创建物理卷
$ pvcreate /dev/sda5# 增加卷组
$ vgextend vg_srv /dev/sda5[root@node4 ~]# vgdisplay--- Volume group ---VG Name vg_srvSystem ID Format lvm2Metadata Areas 3Metadata Sequence No 14VG Access read/writeVG Status resizableMAX LV 0Cur LV 7Open LV 7Max PV 0Cur PV 3Act PV 3VG Size 199.79 GiBPE Size 4.00 MiBTotal PE 51147Alloc PE / Size 13824 / 54.00 GiBFree PE / Size 37323 / 145.79 GiBVG UUID D90rGn-vdYW-sEPa-4O7u-u30Q-bPZj-nTnLg9## 扩容成功!
逻辑卷扩容
[root@node4 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_srv-lv_root 10G 5.4G 4.7G 54% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 61M 7.8G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/vg_srv-lv_tmp 10G 33M 10G 1% /tmp
/dev/mapper/vg_srv-lv_var 10G 341M 9.7G 4% /var
/dev/mapper/vg_srv-lv_app 1014M 33M 982M 4% /app
/dev/mapper/vg_srv-lv_logs 5.0G 33M 5.0G 1% /app/logs
/dev/mapper/vg_srv-lv_home 10G 6.3G 3.8G 63% /home
/dev/sda1 197M 175M 23M 89% /boot
tmpfs 1.6G 8.0K 1.6G 1% /run/user/42
tmpfs 1.6G 44K 1.6G 1% /run/user/0
tmpfs 1.6G 0 1.6G 0% /run/user/99[root@node4 ~]# lvextend -L +40G /dev/vg_srv/lv_rootSize of logical volume vg_srv/lv_root changed from 10.00 GiB (2560 extents) to 50.00 GiB (12800 extents).Logical volume vg_srv/lv_root successfully resized.# 如果xfs文件系统,则使用如下命令扩容
[root@node4 ~]# xfs_growfs /dev/vg_srv/lv_root # 如果是ext文件系统,则使用如下命令扩容
[root@node4 ~]# resizefs /dev/vg_srv/lv_root # 再次查看相关目录大小,扩容成功。
[root@node4 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_srv-lv_root 50G 5.4G 45G 11% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 61M 7.8G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/vg_srv-lv_tmp 10G 33M 10G 1% /tmp
/dev/mapper/vg_srv-lv_var 10G 341M 9.7G 4% /var
/dev/mapper/vg_srv-lv_app 1014M 33M 982M 4% /app
/dev/mapper/vg_srv-lv_logs 5.0G 33M 5.0G 1% /app/logs
/dev/mapper/vg_srv-lv_home 10G 6.3G 3.8G 63% /home
/dev/sda1 197M 175M 23M 89% /boot
tmpfs 1.6G 8.0K 1.6G 1% /run/user/42
tmpfs 1.6G 44K 1.6G 1% /run/user/0
tmpfs 1.6G 0 1.6G 0% /run/user/99
新增逻辑卷
$ lvcreate -L 40G -n lv_data vg_srv #因为可用容量为40G,创建的大小按照需要创建即可。
$ mkfs -t xfs /dev/mapper/vg_srv-lv_data$ lsblk -pf
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
├─/dev/sda1 xfs 63d25408-e2a9-4afa-b6b6-056471073a89 /boot
├─/dev/sda2 LVM2_member 4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso
│ ├─/dev/mapper/vg_srv-lv_root xfs 5262deca-cc03-42b6-9fe5-fad501053f22 /
│ ├─/dev/mapper/vg_srv-lv_swap swap d973e004-8ef4-45aa-89ca-c0c307f74130 [SWAP]
│ ├─/dev/mapper/vg_srv-lv_home xfs 0d15a3e7-788c-44f7-bf53-b27c41533640 /home
│ ├─/dev/mapper/vg_srv-lv_var xfs bcf82e94-b178-4604-80d4-fad7e0f14685 /var
│ └─/dev/mapper/vg_srv-lv_tmp xfs 227a6b29-1555-4ff8-ac42-ad732f97a685 /tmp
├─/dev/sda3 LVM2_member yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg
│ ├─/dev/mapper/vg_srv-lv_app xfs e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff /app
│ └─/dev/mapper/vg_srv-lv_logs xfs 07b3f85b-f933-43ea-8598-cbd8187c5271 /app/logs
├─/dev/sda4
└─/dev/sda5 LVM2_member 26uEWO-57Zm-0Cem-olr1-x66m-b8uc-sw15tJ└─/dev/mapper/vg_srv-lv_data ext4 59f579ba-557f-4d08-93b8-9ea713bd028e
/dev/sr0$ mount /dev/mapper/vg_srv-lv_data /data1$ vi /etc/fstab #配置为开机自动挂载
/dev/mapper/vg_srv-lv_data /data1 xfs defaults 0 0
vgreduce --removemissing vg_srv
更多推荐
卷组扩容、逻辑卷扩容
发布评论