1. 程式人生 > >LVM分區

LVM分區

支持的格式 e2fs con 後來 strip oot 完成 lvm邏輯卷 wip

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分區