邏輯卷的管理

補充說明linux

1.app

在增大lv時,同步文件系統,ext4的文件系統採用resize2fs命令,而xfs文件系統採用xfs_growfs命令同步。ui


2. 邏輯卷的快照技術orm

寫時複製技術 COW  server

主要是用解決備份時數據一致性的問題。 也能夠用在虛擬機快照。內存

演示過程:
爲已存在的邏輯卷/dev/vg02/lv02建立大小爲1G的快照。
[root@geust02 ~]# lvcreate -s -L 1G -n lv02s /dev/vg02/lv02rem

xfs文件系統不容許兩個相同的UUID設備同時掛載,因此掛載時,要採用-o nouuid的選項。(而ext4文件系統則無此問題。)同步

[root@geust02 ~]# blkid /dev/vg02/lv02*
/dev/vg02/lv02: UUID="88e8def7-1ea2-4cb8-87d3-9cf608c84ef7" TYPE="xfs"
/dev/vg02/lv02s: UUID="88e8def7-1ea2-4cb8-87d3-9cf608c84ef7" TYPE="xfs"虛擬機

[root@geust02 ~]# mount /dev/vg02/lv02 /dd/it

[root@geust02 ~]# mount -o nouuid /dev/vg02/lv02s /ee/

[root@geust02 ~]# df -hT |grep vg02
/dev/mapper/vg02-lv02 xfs 10G 33M 10G 1% /dd
/dev/mapper/vg02-lv02s xfs 10G 33M 10G 1% /ee

3. 關於縮小LVM

對於ext4文件系統,能夠進行縮小。
umount /dev/vg02/lv03

e2fsck -f /dev/vg02/lv03 5G

resize2fs /dev/vg02/lv03 5G


lvreduce -L 5G /dev/vg02/lv03

對於xfs文件系統,不支持縮小。

4. 刪除LVM

刪除lv
umount /dev/vg02/lv02
lvchange -a n /dev/vg02/lv02
lvremove /dev/vg02/lv02 (不作)

刪除vg
vgchange -a n vg02
vgremove vg02

刪除pv
pvremove /dev/sdb1


5. 遷移邏輯卷

vgchange -a y vg02

-----------------
基礎練習1答案

[root@server01 ~]# fdisk -l |grep vd
磁盤 /dev/vda:21.5 GB, 21474836480 字節,41943040 個扇區
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 41943039 20458496 8e Linux LVM
磁盤 /dev/vdb:2147 MB, 2147483648 字節,4194304 個扇區
磁盤 /dev/vdc:5368 MB, 5368709120 字節,10485760 個扇區
[root@server01 ~]# fdisk /dev/vdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0x8dc79bed 建立新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-4194303,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-4194303,默認爲 4194303):
將使用默認值 4194303
分區 1 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]# fdisk /dev/vdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):w
The partition table has been altered!
[root@server01 ~]# fdisk -l |grep vd
磁盤 /dev/vda:21.5 GB, 21474836480 字節,41943040 個扇區
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 41943039 20458496 8e Linux LVM
磁盤 /dev/vdb:2147 MB, 2147483648 字節,4194304 個扇區
磁盤 /dev/vdc:5368 MB, 5368709120 字節,10485760 個扇區
[root@server01 ~]# fdisk /dev/vdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0x8dc79bed 建立新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-4194303,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-4194303,默認爲 4194303):
將使用默認值 4194303
分區 1 已設置爲 Linux 類型,大小設爲 2 GiB

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]# fdisk /dev/vdb
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]# fdisk /dev/vdc
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0xf81497d7 建立新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區號 (1-4,默認 1):
起始 扇區 (2048-10485759,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,默認爲 10485759):
將使用默認值 10485759
分區 1 已設置爲 Linux 類型,大小設爲 5 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]#
[root@server01 ~]# fdisk -l |grep vd
磁盤 /dev/vda:21.5 GB, 21474836480 字節,41943040 個扇區
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 41943039 20458496 8e Linux LVM
磁盤 /dev/vdb:2147 MB, 2147483648 字節,4194304 個扇區
/dev/vdb1 2048 4194303 2096128 8e Linux LVM
磁盤 /dev/vdc:5368 MB, 5368709120 字節,10485760 個扇區
/dev/vdc1 2048 10485759 5241856 8e Linux LVM
[root@server01 ~]# cat /proc/partitions |grep vd
252 0 20971520 vda
252 1 512000 vda1
252 2 20458496 vda2
252 16 2097152 vdb
252 17 2096128 vdb1
252 32 5242880 vdc
252 33 5241856 vdc1

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]# fdisk /dev/vdc
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0xf81497d7 建立新的 DOS 磁盤標籤。

命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區號 (1-4,默認 1):
起始 扇區 (2048-10485759,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,默認爲 10485759):
將使用默認值 10485759
分區 1 已設置爲 Linux 類型,大小設爲 5 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出全部代碼):8e
已將分區「Linux」的類型更改成「Linux LVM」

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@server01 ~]#
[root@server01 ~]# fdisk -l |grep vd
磁盤 /dev/vda:21.5 GB, 21474836480 字節,41943040 個扇區
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 41943039 20458496 8e Linux LVM
磁盤 /dev/vdb:2147 MB, 2147483648 字節,4194304 個扇區
/dev/vdb1 2048 4194303 2096128 8e Linux LVM
磁盤 /dev/vdc:5368 MB, 5368709120 字節,10485760 個扇區
/dev/vdc1 2048 10485759 5241856 8e Linux LVM
[root@server01 ~]# cat /proc/partitions |grep vd
252 0 20971520 vda
252 1 512000 vda1
252 2 20458496 vda2
252 16 2097152 vdb
252 17 2096128 vdb1
252 32 5242880 vdc
252 33 5241856 vdc1


[root@server01 ~]# pvcreate /dev/vdb1 /dev/vdc1
Physical volume "/dev/vdb1" successfully created
Physical volume "/dev/vdc1" successfully created

[root@server01 ~]# vgcreate vg_test /dev/vdb1 /dev/vdc1
Volume group "vg_test" successfully created

[root@server01 ~]# lvcreate -n lv_test -L 4G vg_test
Logical volume "lv_test" created.

[root@server01 ~]# mkfs.ext4 /dev/vg_test/lv_test

[root@server01 test]# dd if=/dev/zero of=test.db bs=3M count=1000

[root@server01 test]# df -h |grep lv_test
/dev/mapper/vg_test-lv_test 3.9G 3.0G 667M 82% /test


基礎練習2答案:

[root@server01 test]# vgdisplay vg_test
--- Volume group ---
VG Name vg_test
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV [root@server01 test]# vgdisplay vg_test
--- Volume group ---
VG Name vg_test
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 6.99 GiB
PE Size 4.00 MiB
Total PE 1790
Alloc PE / Size 1024 / 4.00 GiB
Free PE / Size 766 / 2.99 GiB
VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv
2
Act PV 2
VG Size 6.99 GiB
PE Size 4.00 MiB
Total PE 1790
Alloc PE / Size 1024 / 4.00 GiB
Free PE / Size 766 / 2.99 GiB
VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv

[root@server01 test]# lvextend -L +2G /dev/vg_test/lv_test
Size of logical volume vg_test/lv_test changed from 4.00 GiB (1024 extents) to 6.00 GiB (1536 extents).
Logical volume lv_test successfully resized.
[root@server01 test]# resize2fs /dev/vg_test/lv_test
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg_test/lv_test is mounted on /test; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg_test/lv_test is now 1572864 blocks long.

[root@server01 test]# df -h |grep lv_test
/dev/mapper/vg_test-lv_test 5.8G 3.0G 2.6G 54% /test


vg_test只有7G

加1G硬盤

[root@server01 test]# fdisk -l |grep vdd
磁盤 /dev/vdd:1073 MB, 1073741824 字節,2097152 個扇區
/dev/vdd1 2048 2097151 1047552 8e Linux LVM


[root@server01 test]# pvcreate /dev/vdd1
Physical volume "/dev/vdd1" successfully created
[root@server01 test]# vgextend vg_test /dev/vdd1
Volume group "vg_test" successfully extended
[root@server01 test]# vgdisplay vg_test
--- Volume group ---
VG Name vg_test
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 7.99 GiB
PE Size 4.00 MiB
Total PE 2045
Alloc PE / Size 1536 / 6.00 GiB
Free PE / Size 509 / 1.99 GiB
VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv


[root@server01 test]# lvextend -l +100%FREE /dev/vg_test/lv_test
Size of logical volume vg_test/lv_test changed from 6.00 GiB (1536 extents) to 7.99 GiB (2045 extents).
Logical volume lv_test successfully resized.
[root@server01 test]# resize2fs /dev/vg_test/lv_test
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg_test/lv_test is mounted on /test; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg_test/lv_test is now 2094080 blocks long.

[root@server01 test]# df -h |grep lv_test/dev/mapper/vg_test-lv_test 7.8G 3.0G 4.5G 41% /test

相關文章
相關標籤/搜索