LVM分區
lvm結構圖
LVM物理卷分配
命令(輸入 m 獲取幫助):n #新建分區,p新建主分區 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1): 起始 扇區 (2048-16777215,默認為 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-16777215,默認為 16777215):+1G 分區 1 已設置為 Linux 類型,大小設為 1 GiB 命令(輸入 m 獲取幫助):n #新建分區,p新建主分區 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分區號 (2-4,默認 2): 起始 扇區 (2099200-16777215,默認為 2099200): 將使用默認值 2099200 Last 扇區, +扇區 or +size{K,M,G} (2099200-16777215,默認為 16777215):+2G 分區 2 已設置為 Linux 類型,大小設為 2 GiB 命令(輸入 m 獲取幫助):n #新建分區,p新建主分區 Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p 分區號 (3,4,默認 3): 起始 扇區 (6293504-16777215,默認為 6293504): 將使用默認值 6293504 Last 扇區, +扇區 or +size{K,M,G} (6293504-16777215,默認為 16777215):+3G 分區 3 已設置為 Linux 類型,大小設為 3 GiB 命令(輸入 m 獲取幫助): 命令(輸入 m 獲取幫助):p 磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0xcfca8dcc 設備 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 6293503 2097152 83 Linux /dev/sdb3 6293504 12584959 3145728 83 Linux 命令(輸入 m 獲取幫助):t #更改分區格式,8e為LVM支持的格式 分區號 (1-3,默認 3):3 Hex 代碼(輸入 L 列出所有代碼):8e 已將分區“Linux”的類型更改為“Linux LVM” 命令(輸入 m 獲取幫助):t #更改分區格式,8e為LVM支持的格式 分區號 (1-3,默認 3):2 Hex 代碼(輸入 L 列出所有代碼):8e 已將分區“Linux”的類型更改為“Linux LVM” 命令(輸入 m 獲取幫助):t #更改分區格式,8e為LVM支持的格式 分區號 (1-3,默認 3):1 Hex 代碼(輸入 L 列出所有代碼):8e 已將分區“Linux”的類型更改為“Linux LVM” 命令(輸入 m 獲取幫助):p 磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0xcfca8dcc 設備 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 8e Linux LVM /dev/sdb2 2099200 6293503 2097152 8e Linux LVM /dev/sdb3 6293504 12584959 3145728 8e Linux LVM 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。
生成物理卷操作的過程中遇到沒有pvcreate命令,然後通過yum安裝pvcreate的包解決:yum install provides "//pvcreate" ,過程中使用pvcreate生成物理卷時提示 ~~Device /dev/sdb not found.Device /dev/sdb1 excluded by a filter.~~的信息,無法識別分區號,重新給硬盤分區後解決
和
[root@localhost ~]# pvcreate /dev/sdb1 WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]: y Wiping dos signature on /dev/sdb1. Physical volume "/dev/sdb1" successfully created. [root@localhost ~]# pvcreate /dev/sdb2 WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. Physical volume "/dev/sdb2" successfully created. [root@localhost ~]# pvcreate /dev/sdb3 WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter. WARNING: xfs signature detected on /dev/sdb3 at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/sdb3. WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 16384. Wipe it? [y/n]: y Wiping xfs_external_log signature on /dev/sdb3. 這裏警告有xfs的格式日誌,y擦除就可以了 WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 17408. Wipe it? [y/n]: y Wiping xfs_external_log signature on /dev/sdb3. WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 18432. Wipe it? [y/n]: y Wiping xfs_external_log signature on /dev/sdb3. Physical volume "/dev/sdb3" successfully created. 以上是錯誤示範 後來操作的另一種顯示(正確的): [root@localhost ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created. [root@localhost ~]# pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created. [root@localhost ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@localhost ~]# pvs pvs簡單顯示物理卷 PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 1.00g 1.00g /dev/sdb2 lvm2 --- 2.00g 2.00g /dev/sdb3 lvm2 --- 3.00g 3.00g
使用pvdisplay命令查看格式好的物理卷信息
[root@localhost ~]# pvdisplay "/dev/sdb2" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 8WkhP1-q83R-Ffty-F3XP-DSMm-Q7UC-ahYYCA "/dev/sdb3" is a new physical volume of "3.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb3 VG Name PV Size 3.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Uj8Uzj-wpoU-0zNC-tysH-Jf5q-dj3S-UCPMxK "/dev/sdb1" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID jC8cIm-I4Ve-23C9-c6N5-oGeH-dk8Y-Usl4W2
使用pvremove刪除一個物理卷
[root@localhost ~]# pvremove /dev/sdb3
Labels on physical volume "/dev/sdb3" successfully wiped.
[root@localhost ~]# pvdisplay
"/dev/sdb2" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 2.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 8WkhP1-q83R-Ffty-F3XP-DSMm-Q7UC-ahYYCA
"/dev/sdb1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID jC8cIm-I4Ve-23C9-c6N5-oGeH-dk8Y-Usl4W2 /dev/sdb3物理卷已經被刪除
LVM卷組管理
vgcreate命令劃分卷組:
[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2 #組成卷組,卷組名稱為vg1
Volume group "vg1" successfully created
[root@localhost ~]# vgdisplay #查看卷組詳細信息
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 2.99 GiB
PE Size 4.00 MiB
Total PE 766
Alloc PE / Size 0 / 0
Free PE / Size 766 / 2.99 GiB
VG UUID zcmq1s-lX9W-Mds8-KkZu-R8q7-9Xuo-MMmMdS
LVM邏輯卷分配
用一組卷組分配LV分區:
[root@localhost ~]# lvcreate -L 1G -n xuni1 vg1 卷組中分配一個LV分區名稱為xuni1
Logical volume "xuni1" created.
[root@localhost ~]# mkfs.ext4 /dev/vg1/xuni1 對分配的LV格式化分區
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mount /dev/vg1/xuni1 /mnt/ 掛載lv分區(xuni1)到mnt目錄下
[root@localhost ~]# df -h 查看掛載的分區信息
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 976M 2.6M 907M 1% /mnt LV分區的掛載點
容量上的邏輯卷的擴展:
lvresize -L 1.5G /dev/vg1/xuni1 重新設置邏輯卷大小
擴展後執行更新邏輯卷信息:
e2fsck -f /dev/vg1/xuni1 檢查磁盤錯誤(ext4執行)
resize2fs /dev/vg1/xuni1 更新邏輯卷信息(ext4執行)
xfs_growfs /dev/vg1/xuni1 xfs文件系統更新需要執行
ext4文件系統操作進行:
[root@localhost ~]# lvresize -L 1.5G /dev/vg1/xuni1 # 添加擴展容量,需要先umount卸掉掛載
Size of logical volume vg1/xuni1 changed from 1.00 GiB (256 extents) to 1.50 GiB (384 extents).
Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# e2fsck -f /dev/vg1/xuni1 #檢查擴容信息
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/xuni1: 11/65536 files (0.0% non-contiguous), 12955/262144 blocks
[root@localhost ~]# resize2fs /dev/vg1/xuni1 更新擴容的容量(相當於格式化)
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/xuni1 to 393216 (4k) blocks.
The filesystem on /dev/vg1/xuni1 is now 393216 blocks long.
[root@localhost ~]# !mount #掛載且查看新擴展的邏輯卷
mount /dev/vg1/xuni1 /mnt/
[root@localhost ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 1.5G 3.0M 1.4G 1% /mnt
ext4文件系統的縮減LV邏輯分區:
e2fsck -f /dev/vg1/xuni1
resize2fs /dev/vg1/xuni1 1G
lvresize -L 1G /dev/vg1/xuni1
縮減邏輯卷之前需要卸載分區掛載才能正常縮減操作
[root@localhost ~]# umount /mnt/
[root@localhost ~]# e2fsck -f /dev/vg1/xuni1 更新邏輯分區信息
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/xuni1: 11/98304 files (0.0% non-contiguous), 15140/393216 blocks
[root@localhost ~]# resize2fs /dev/vg1/xuni1 1G #更新邏輯分區容量
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/xuni1 to 262144 (4k) blocks.
The filesystem on /dev/vg1/xuni1 is now 262144 blocks long.
[root@localhost ~]# lvresize -L 1G /dev/vg1/xuni1 #指定邏輯分區大小
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/xuni1? [y/n]: y
Size of logical volume vg1/xuni1 changed from 1.50 GiB (384 extents) to 1.00 GiB (256 extents).
Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# !mount
mount /dev/vg1/xuni1 /mnt/
[root@localhost ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 976M 2.6M 907M 1% /mnt #掛載並查看,已由1.5GB縮減到1GB大小
xfs格式的lv邏輯卷,xfs的邏輯卷不支持縮減大小
摘抄:
pvcreate
pvcreate 設備全路徑名,物理卷的創建
pvmove物理卷的刪除
vgscan檢測系統中所有磁盤
vgck [卷組名]檢測卷組中卷組描述區域信息的一致性。
vgdisplay [卷組名] 顯示卷組的屬性信息
vgrename 原卷組名 新卷組名
#vgchange -a y|n [卷組名] //改變卷組的相應屬性,是否可分配
#vgchange -l 最大邏輯卷數 //卷組可容納最大邏輯卷數
#vgchange -x y|n [卷組名] //卷是否有效
vgexport卷組的輸入
vgimport卷組的輸出
pvs #顯示PV的顯示信息
vgcfgbackup [卷組名] //把卷組中VGDA信息備份到"/etc/vmconf"目錄中的文件
vgcfgrestore -n [卷組名] 物理卷全路徑名 //從備份文件中得到指定物理卷的信息
vgcreate 卷組創建
vgmove 卷組刪除
vgextend 卷組擴展
vgreduce 卷組縮小
vgmerge 卷組合並
vgsplit 卷組拆分
vgs 顯示VG簡要信息
lvcreate 邏輯卷創建
lvremove 邏輯卷刪除
lvextend 邏輯卷擴展
lvreduce 邏輯卷縮小
lvmdiskscan 檢查所有的SCSI,IDE等存儲設備
lvscan 檢測邏輯卷的狀態
lvdisplay 顯示LV屬性信息
lvchange 修改LV屬性信息,-ay:標記LV為可用狀態, -an:標記lv為不可用狀態
lvs 顯示LV 簡要信息
LVM分區