首頁 > 軟體

CentOS7下LVM的簡單建立

2020-06-16 17:13:14

一、環境:CentOS7虛擬機器,掛載了一塊2G硬碟

二、設定過程:

1、給硬碟分割區:

建立三個分割區,前兩個512M,最後一個預設大小,1G多一些,最後一個預設指定大小,具體操作根據自己環境而定。把分割區都改成Linux LVM格式就好了。

Command (m for help): p    //檢視分割區表

Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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: 0xbe89015f

    Device Boot      Start        End      Blocks  Id  System

 Command (m for help): n    //建立分割區
Partition type:
    p  primary (0 primary, 0 extended, 4 free)
    e  extended
 Select (default p): p    //主分割區
Partition number (1-4, default 1): 1
 First sector (2048-4194303, default 2048):
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +512M    //指定大小
Partition 1 of type Linux and of size 512 MiB is set

 Command (m for help): n
 Partition type:
    p  primary (1 primary, 0 extended, 3 free)
    e  extended
 Select (default p): p
 Partition number (2-4, default 2): 2
 First sector (1050624-4194303, default 1050624):
 Using default value 1050624
 Last sector, +sectors or +size{K,M,G} (1050624-4194303, default 4194303): +512M
 Partition 2 of type Linux and of size 512 MiB is set

 Command (m for help): n
 Partition type:
    p  primary (2 primary, 0 extended, 2 free)
    e  extended
 Select (default p): p
 Partition number (3,4, default 3):
 First sector (2099200-4194303, default 2099200):
 Using default value 2099200
 Last sector, +sectors or +size{K,M,G} (2099200-4194303, default 4194303):    //預設剩下全部大小
Using default value 4194303
 Partition 3 of type Linux and of size 1023 MiB is set

 Command (m for help): w    //儲存退出
The partition table has been altered!

 Calling ioctl() to re-read partition table.
 Syncing disks.
 [root@localhost ~]# fdisk /dev/sdb
 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): p

 Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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: 0xbe89015f

    Device Boot      Start        End      Blocks  Id  System
 /dev/sdb1            2048    1050623      524288  83  Linux
 /dev/sdb2        1050624    2099199      524288  83  Linux
 /dev/sdb3        2099200    4194303    1047552  83  Linux

 Command (m for help): t    //修改分割區型別
Partition number (1-3, default 3): 1    //選擇分割區
Hex code (type L to list all codes): 8e    //更變為Linux LVM型別分割區,8e為分割區程式碼,l可以檢視

Changed type of partition 'Linux' to 'Linux LVM'

 Command (m for help): t
 Partition number (1-3, default 3): 2
 Hex code (type L to list all codes): 8e
 Changed type of partition 'Linux' to 'Linux LVM'

 Command (m for help): t
 Partition number (1-3, default 3): 3
 Hex code (type L to list all codes): 8e
 Changed type of partition 'Linux' to 'Linux LVM'

 Command (m for help): p

 Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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: 0xbe89015f

    Device Boot      Start        End      Blocks  Id  System
 /dev/sdb1            2048    1050623      524288  8e  Linux LVM
 /dev/sdb2        1050624    2099199      524288  8e  Linux LVM
 /dev/sdb3        2099200    4194303    1047552  8e  Linux LVM

Command (m for help): w
 The partition table has been altered!

 Calling ioctl() to re-read partition table.
 Syncing disks.

2、建立物理卷:

 命令:pv系列命令

 root@localhost ~]# pv
  pvchange  pvcreate  pvmove    pvresize  pvscan   
  pvck      pvdisplay  pvremove  pvs

建立物理卷:選擇自己要建立的分割區

[root@localhost ~]# pvcreate /dev/sdb{1,2,3}    //用sdb1,sdb2,sdb3三個分割區來建立物理卷
Physical volume "/dev/sdb1" successfully created.
 Physical volume "/dev/sdb2" successfully created.
 Physical volume "/dev/sdb3" successfully created.

簡單檢視物理卷:

[root@localhost ~]# pvs
 PV        VG Fmt  Attr PSize    PFree 
 /dev/sdb1    lvm2 ---  512.00m  512.00m
 /dev/sdb2    lvm2 ---  512.00m  512.00m
 /dev/sdb3    lvm2 ---  1023.00m 1023.00m

詳細檢視:

[root@localhost ~]# pvdisplay
  "/dev/sdb1" is a new physical volume of "512.00 MiB"
  --- NEW Physical volume ---
  PV Name              /dev/sdb1
  VG Name             
  PV Size              512.00 MiB
  Allocatable          NO
  PE Size              0 
  Total PE              0
  Free PE              0
  Allocated PE          0
  PV UUID              413TpT-NC3F-ch3r-3xsy-TW10-P3Rr-qT6dm5
   
  "/dev/sdb3" is a new physical volume of "1023.00 MiB"
  --- NEW Physical volume ---
  PV Name              /dev/sdb3
  VG Name             
  PV Size              1023.00 MiB
  Allocatable          NO
  PE Size              0 
  Total PE              0
  Free PE              0
  Allocated PE          0
  PV UUID              DDu25l-PBlg-sRJY-qgl1-Io3s-ezmj-KVuZCT
   
  "/dev/sdb2" is a new physical volume of "512.00 MiB"
  --- NEW Physical volume ---
  PV Name              /dev/sdb2
  VG Name             
  PV Size              512.00 MiB
  Allocatable          NO
  PE Size              0 
  Total PE              0
  Free PE              0
  Allocated PE          0
  PV UUID              Z5QKKi-RoKG-MZ1b-ed3s-Ibgg-eyAr-PDK0kV

----------------------------------------------------------------------------------------

PE(physical extent):物理區域是物理捲中可用於分配的最小儲存單元,物理區域大小在建立捲組時指定,一旦確定不能更改,同一卷組所有物理卷的物理區域大小需一致,新的pv加入到vg後,pe的大小自動更改為vg中定義的pe大小。

LE(logical extent):邏輯區域是邏輯卷中可用於分配的最小儲存單元,邏輯區域的大小取決於邏輯卷所在捲組中的物理區域的大小。
 捲組描述區域:捲組描述區域存在於每個物理卷中,用於描述物理捲本身、物理卷所屬卷組、捲組中邏輯卷、邏輯卷中物理區域的分配等所有資訊,它是在使用pvcreate建立物理卷時建立的。

3、建立捲組:vg系列命令

[root@localhost ~]# vg
 vgcfgbackup    vgconvert      vgextend      vgmknodes      vgs           
 vgcfgrestore  vgcreate      vgimport      vgreduce      vgscan       
 vgchange      vgdisplay      vgimportclone  vgremove      vgsplit       
 vgck          vgexport      vgmerge        vgrename

建立卷組,名字可以隨意起

[root@localhost ~]# vgremove myvg
  Volume group "myvg" successfully removed
 [root@localhost ~]# vgcreate -s 16M myvg /dev/sdb{1,2,3}
  Volume group "myvg" successfully created
 [root@localhost ~]# vgs
  VG  #PV #LV #SN Attr  VSize VFree
  myvg  3  0  0 wz--n- 1.95g 1.95g
 [root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name              myvg
  System ID           
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size              1.95 GiB
  PE Size              16.00 MiB
  Total PE              125
  Alloc PE / Size      0 / 0 
  Free  PE / Size      125 / 1.95 GiB

  VG UUID              3Eu9GX-U4ip-mxSF-zibe-7802-8Suh-38b4dG

建立邏輯卷

[root@localhost ~]# lvcreate -L 1.4G -n mylv myvg /dev/sdb{1,3}    //-L 指定大小,-n指定名稱
  Rounding up size to full physical extent 1.41 GiB
  Logical volume "mylv" created.
 [root@localhost ~]# lvs    //簡單檢視資訊
  LV  VG  Attr      LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv myvg -wi-a----- 1.41g                                                   
 [root@localhost ~]# lvdisplay    //詳細檢視資訊
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                coMhuV-ywOe-FEbm-SkQd-upfQ-0era-cCfqHy
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2017-05-17 16:30:37 +0800
  LV Status              available
  # open                0
  LV Size                1.41 GiB
  Current LE            90
  Segments              2
  Allocation            inherit
  Read ahead sectors    auto
  - currently set to    8192
  Block device          253:0

格式化:

[root@localhost ~]# mkfs.ext4 /dev/myvg/mylv
 mke2fs 1.42.9 (28-Dec-2013)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 Stride=0 blocks, Stripe width=0 blocks
 92160 inodes, 368640 blocks
 18432 blocks (5.00%) reserved for the super user
 First data block=0
 Maximum filesystem blocks=377487360
 12 block groups
 32768 blocks per group, 32768 fragments per group
 7680 inodes per group
 Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912

 Allocating group tables: done                           
 Writing inode tables: done                           
 Creating journal (8192 blocks): done
 Writing superblocks and filesystem accounting information: done

3、掛載使用

檢視物理位置:

[root@localhost ~]# ll /dev/myvg/mylv
 lrwxrwxrwx 1 root root 7 May 17 16:30 /dev/myvg/mylv -> ../dm-0

掛載到目錄並進行讀寫操作:

[root@localhost ~]# mount /dev/myvg/mylv  /mnt
 [root@localhost ~]# mkdir /mnt/test
 [root@localhost ~]# ls /mnt/ > /mnt/test/test.txt
 [root@localhost ~]# cat /mnt/test/test.txt
 lost+found
 test

如果有問題歡迎留言。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-06/144428.htm


IT145.com E-mail:sddin#qq.com