Linux LVM磁盤分區管理


目錄:

 

Linux LVM(Logical Volume Manager)邏輯卷管理是在Linux2.4內核以上實現的磁盤管理技術。

 

一、創建和掛載LVM

1、 創建分區

  fdisk /dev/sdb  # 創建LVM分區

[root@servera ~]# fdisk /dev/sdb

Command (m for help): n  # add a new partition
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p  # 主分區
Partition number (1-4, default 1):   # 回車
First sector (2048-10485759, default 2048):   # 回車
Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759):   # 回車

Created a new partition 1 of type 'Linux' and of size 5 GiB.

Command (m for help): t  # 修改分區類型,在CentOS8中不用設置為 8e也可以
Selected partition 1
Hex code (type L to list all codes): 8e  # LVM類型
Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): w  # 保存配置
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

[root@servera ~]# fdisk -l
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 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
Disklabel type: dos
Disk identifier: 0x16a1e057

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 20971486 20969439  10G 83 Linux


Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: dos
Disk identifier: 0x03864530

Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 10485759 10483712   5G 8e Linux LVM

 

2、創建PV(Pysical Volume)

  pvcreate /dev/sdb1  # 將sdb1 初始化為物理卷

  提示:Device /dev/sdxx not found (or ignored by filtering), 需要將 sdb 添加到 /etc/lvm/lvm.conf 的 filter 中。
 

3、創建VG (Volume Group)   

  vgcreate vg-01 /dev/sdb1  # 創建VG名稱為 vg-01, 並且將卷 sdb1 添加到VG中。

 

4、創建LV (Logic Volume)  

  lvcreate vg-01 -n lv-01 -L 2G  # 創建LV名稱為 lv-01,指定大小為2G,從名為vg-01的VG中划分。

 

5、格式化LV

下一步需要對LV進行格式化(使用mksf進行格式化操作),然后LV才能存儲資料

# mkfs.ext4 /dev/vg-01/lv-01

 

6、掛載LV 

將格式化后的LV分區掛載到指定的目錄下,就可以像普通目錄一樣存儲數據了

# mount /dev/vg-01/lv-01  /root/test/

 

如果要在系統啟動的時候啟動LV,最好是將lvData寫入fstable 文件中,如下所示:

[ root@servera ]# cat /etc/fstab
# <file system>        <dir>                   <type>    <options>      <dump> <pass>
/dev/mapper/centos-root /                       xfs      defaults        0 0
UUID=f7cde4a6-84e2-4b65-97b3-e44b89934de3 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap     defaults        0 0
/dev/vg-01/lv01 /root/test ext4 defaults 1 2

 

 

二、擴容LVM分區

1、格式化新磁盤:

# fdisk /dev/sdc

# partprobe   # 重讀分區表

# mkfs.ext4 /dev/sdc1 # 格式化為 ext4格式

# partx /dev/sdc # 查看當前硬盤的分區表及使用情況

 

2、創建PV,擴容VG,擴容LV

# pvcreate /dev/sdc1

# vgdisplay #查看當前已經存在的VG信息,以存在VG:VolGroup00為例

# vgextend VolGroup00 /dev/sdc1    #擴展VolGroup00

# lvdisplay #查看已經存在的LV信息,以存在LV:LogVol01為例

# lvextend -L 1G /dev/VolGroup00/LogVol01 #擴展1G到LV中   或者將所有剩余空間全部擴展到LV中  lvextend -l +100%FREE  /dev/VolGroup00/LogVol01

# resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對於當前正在使用的LogVol01有效

# df -HT  #查看掛載情況,已經擴容

# lsblk #查看掛載情況,已經擴容

 

特別注意的是:

resize2fs命令            針對的是ext文件系統
xfs_growfs命令           針對的是xfs文件系統
------------------------------------------------------------------------------------------

 

1)ext2/ext3/ext4文件系統的調整命令是resize2fs(增大和減小都支持) 

# lvextend -L 120G /dev/mapper/centos-home     //增大至120G
# lvextend -L +20G /dev/mapper/centos-home     //增加20G
# lvreduce -L 50G /dev/mapper/centos-home      //減小至50G
# lvreduce -L -8G /dev/mapper/centos-home      //減小8G
# resize2fs /dev/mapper/centos-home            //執行調整

 

2)xfs文件系統的調整命令是xfs_growfs(只支持增大)

# lvextend -L 120G /dev/mapper/centos-home    //增大至120G
# lvextend -L +20G /dev/mapper/centos-home    //增加20G
# xfs_growfs /home          //執行調整
 
就是說:xfs文件系統只支持增大分區空間的情況,不支持減小的情況(切記!!!!!)。
硬要減小的話,只能在減小后將邏輯分區重新通過mkfs.xfs命令重新格式化才能掛載上,這樣的話這個邏輯分區上原來的數據就丟失了。

 

三、Parted格式化2TB以上的磁盤

通常我們使用fdisk工具來進行磁盤分區,但是fdisk只能格式化小於2TB的磁盤。因此大於2TB的磁盤分區就需要parted工具。

1、設置DiskLable Type

# parted /dev/sdb mklabel gpt

 

2、創建分區

# parted /dev/sdb mkpart primary 0 100%

 

3、格式化分區

# mkfs.xfs /dev/sdb1

 

4、掛載分區

# mount /dev/sdb1 /var/tmp

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM