linux邏輯卷組建立以及修改

darren__chan發表於2015-11-26

建立邏輯卷組:

一、      將擴充套件的硬碟分割槽

新加一塊SCSI硬碟,需要將其分成三個區:
程式碼:

#fdisk  /dev/sdb
進入fdisk模式:
Command (m for help):p //
檢視新硬碟的分割槽
Command (m for help):n //
建立新分割槽

可以用m命令來看fdisk命令的內部命令;n命令建立一個新分割槽;d命令刪除一個存在的分割槽;p命令顯示分割槽列表;t命令修改分割槽的型別ID號;l命令顯示分割槽ID號的列表;a命令指定啟動分割槽;w命令是將對分割槽表的修改存檔讓它發生作用。

Command action
e extended //
輸入e為建立擴充套件分割槽
p primary partition (1-4) //
輸入p為建立主分割槽,這裡我們選擇p

Partion number(1-4)1 //第一個擴充套件分割槽,按你需求可以最多分4個主分割槽
First Cylinder(1-1014,default 1): 1 //
第一個主分割槽起始的磁碟塊數
Last cylindet or +siza or +sizeM or +sizeK: +1024MB //
可以是以MB為單位的數字或者以

磁碟塊數,這裡我們輸入+1024MB表示分割槽大小為1G


這樣我們就建立完一個分割槽,如果要建立更多分割槽可以照上面的步驟繼續建立。

建立完後用w儲存分割槽。
程式碼:

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

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

#partprobe   //不用重啟可使以上操作生效。

這樣就分割槽完,我們還要進行格式化
程式碼:

#mkfs.ext3  /dev/sdb1 //如果有多個分割槽,則分割槽修改為sdb2這樣

=====================================================================

二、     建立邏輯卷的步驟:
1)透過pvcreate命令將linux分割槽處理成物理卷(PV)
2
)透過vgcreate命令將建立好的物理卷處理成卷組(Vg)
3
)透過lvcreate命令將卷組分成若干個邏輯卷(Lv)
之後我們可以對邏輯捲進行格式化,掛載,刪除等操作,我們可以動態的調整邏輯卷的大小,並且該操作不會影響我們在邏輯卷(Lv)上的資料。

 

三、     物理卷建立管理操作:
 
1pvcreate建立物理卷:把普通Linux分割槽變成物理卷)

格式:pvcreate /dev/sdb{1,2,3...}  
———————————————————————————————
[root@station1 ~]# [root@station1 ~]# pvcreate /dev/sdb{1,2,3,5,6,7}
  Physical volume "/dev/sdb3" successfully created
  Physical volume "/dev/sdb5" successfully created
  Physical volume "/dev/sdb6" successfully created
  Physical volume "/dev/sdb7" successfully created
————————————————————————————————
   2
pvscan檢視物理卷資訊:會顯示所有物理卷的情況。
格式:pvscan
————————————————————————————————
[root@station1 ~]# pvscan
  PV /dev/sdb1                      lvm2 [964.81 MB]
  PV /dev/sdb2                      lvm2 [964.84 MB]
  PV /dev/sdb3                      lvm2 [964.84 MB]
  PV /dev/sdb5                      lvm2 [964.81 MB]
  PV /dev/sdb6                      lvm2 [964.81 MB]
  PV /dev/sdb7                      lvm2 [964.81 MB]
  Total: 6 [5.65 GB] / in use: 0 [0   ] / in no VG: 6 [5.65 GB]
————————————————————————————————
 3
pvdisplay檢視各個物理卷的詳細引數:
格式:pvdisplay  [/dev/sdb{1,2,3...}]  不跟引數則顯示所有的物理卷資訊

[root@station1 ~]# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "964.81 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               964.81 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               FKaYKk-d46E-KHCQ-WRnn-jUUE-Cd1d-mM8mPN
————————————————————————————————
4
pvremove刪除物理卷:當物理卷裡的擴充套件快沒有被使用時可以刪除。
格式:pvremove  /dev/sdb5
——————————————————————————————
[root@station1 ~]# pvscan
  PV /dev/sdb7   VG vg1             lvm2 [960.00 MB / 960.00 MB free]
  PV /dev/sdb1   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb2   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb3   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb5                      lvm2 [964.81 MB]
  PV /dev/sdb6                      lvm2 [964.81 MB]
  Total: 6 [5.65 GB] / in use: 4 [3.76 GB] / in no VG: 2 [1.88 GB]
[root@station1 ~]# pvremove /dev/sdb5
  Labels on physical volume "/dev/sdb5" successfully wiped
[root@station1 ~]# pvscan
  PV /dev/sdb7   VG vg1             lvm2 [960.00 MB / 960.00 MB free]
  PV /dev/sdb1   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb2   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb3   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb6                      lvm2 [964.81 MB]
  Total: 5 [4.70 GB] / in use: 4 [3.76 GB] / in no VG: 1 [964.81 MB]
————————————————————————————————

四.  卷組的建立管理:


        1
vgcreate建立卷組:
格式:vgcreate [-s  <8M|16M|...>] vg0 /dev/sdb{1,2,3...}
                -s
:指定擴充套件塊(PE)的大小,預設為4MB;(相當與磁碟上的簇,擴充套件邏輯卷的基本單位。後面的值可以是8M 16M 32M 64M .....最多65532個擴充套件塊。
                vg0
:新建立的卷組的名字。
                /dev/sdb{1,2,3...}
:需要的物理卷可以寫多個;
————————————————————————————————
[root@station1 ~]# vgcreate vg0 /dev/sdb{1,2,3}
  Volume group "vg0" successfully created
————————————————————————————————
        2
vgdisplay檢視各個卷組的詳細引數:
格式:vgdisplay  /dev/vg0
————————————————————————————————
[root@station1 ~]# vgdisplay /dev/vg0
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  Cur PV                3
  Act PV                3
  VG Size               2.82 GB
  PE Size               4.00 MB   //
擴充套件快大小 預設4MB
  Total PE              723
  Alloc PE / Size       0 / 0
  Free  PE / Size       723 / 2.82 GB
  VG UUID               w4q8ET-UBLY-rHwg-2ZVv-NOw4-dd1e-1ABr2f
[root@station1 ~]# vgcreate -s 16M vg1 /dev/sdb{5,6,7}
  Volume group "vg1" successfully created
[root@station1 ~]# vgdisplay /dev/vg1
  --- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  Cur PV                3
  Act PV                3
  VG Size               2.81 GB
  PE Size               16.00 MB     //
指定擴充套件塊大小為16MB
  Total PE              180
  Alloc PE / Size       0 / 0
  Free  PE / Size       180 / 2.81 GB
  VG UUID               x97eh2-JYxW-4Ygh-5axx-TquS-0vxR-YdFyJ1
———————————————————————————————————
3
vgscan檢視卷組的資訊:
格式:vgsacn
————————————————————————————————
[root@station1 ~]# vgscan
  Found volume group "vg1" using metadata type lvm2
  Found volume group "vg0" using metadata type lvm2
—————————————————————————————————
        4
vgreduce縮小卷組:把物理卷重卷組中刪除。
格式:vgreduce vg0 /dev/sdb3
——————————————————————————————————
[root@station1 ~]# vgreduce vg0 /dev/sdb3
Removed "/dev/sdb3" from volume group "vg0"
——————————————————————————————————
        4
vgextend擴充套件卷組:把某個物理卷新增到卷組中。
格式:vgextend vg0 /dev/sdb2   將物理卷/dev/sdb2新增到vg0卷組        
——————————————————————————————————
[root@station1 ~]# vgextend vg0 /dev/sdb3
  Volume group "vg0" successfully extended
——————————————————————————————————
        5
vgremove刪除卷組:
格式:vgremove /dev/vg1
——————————————————————————————————
[root@station1 ~]# pvscan
  PV /dev/sdb7   VG vg1   lvm2 [960.00 MB / 960.00 MB free]
  PV /dev/sdb5   VG vg1   lvm2 [960.00 MB / 960.00 MB free]
  PV /dev/sdb6   VG vg1   lvm2 [960.00 MB / 960.00 MB free]
  PV /dev/sdb1   VG vg0   lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb2   VG vg0   lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb3   VG vg0   lvm2 [964.00 MB / 964.00 MB free]
  Total: 6 [5.64 GB] / in use: 6 [5.64 GB] / in no VG: 0 [0   ]
[root@station1 ~]# vgremove /dev/vg1
  Volume group "vg1" successfully removed
[root@station1 ~]# pvscan
  PV /dev/sdb1   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb2   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb3   VG vg0             lvm2 [964.00 MB / 964.00 MB free]
  PV /dev/sdb5                      lvm2 [964.81 MB]
  PV /dev/sdb6                      lvm2 [964.81 MB]
  PV /dev/sdb7                      lvm2 [964.81 MB]
  Total: 6 [5.65 GB] / in use: 3 [2.82 GB] / in no VG: 3 [2.83 GB]
——————————————————————————————————

五、邏輯卷的建立及管理:


        1
lvcreate建立邏輯卷命令:
格式1lvcreate -L 512M -n data vg0
                -L 512M
:設定邏輯卷的大小為512M
                -n data
:設定邏輯卷的名字為data ;表示法:/dev/卷組名/data
                vg0 
:設定是有那個卷組生成的邏輯卷。
——————————————————————————————————
[root@station1 ~]# lvcreate -L 1000M -n data vg0
  Logical volume "data" created
//
建立一個容量為1000MB的邏輯卷data
——————————————————————————————————
格式2lvcreate -l 32 -n data vg0
                -l 32
:生成的邏輯卷使用32個擴充套件塊,邏輯卷大小=32*PE(預設4M)則為128M
                -n data
:邏輯卷的名字;
                vg0 
:設定是有那個卷組生成的邏輯卷。
——————————————————————————————————
[root@station1 ~]# lvcreate -l 32 -n data128 vg0 
  Logical volume "data128" created
//
建立一個32個擴充套件塊,容量為32*4=128MB的邏輯卷data128
——————————————————————————————————
        2
)格式化邏輯卷:
mkfs.ext3 /dev/vg0/data     

        3lvsacn檢視邏輯卷的資訊:
&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;&not;——————————————————————————————————
[root@station1 ~]# lvscan
  ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit
——————————————————————————————————
        4
lvdisplay檢視邏輯卷的具體引數:
——————————————————————————————————
[root@station1 ~]# lvdisplay /dev/vg0/data
  --- Logical volume ---
  LV Name                /dev/vg0/data
  VG Name                vg0
  LV UUID                9Od1nq-cHmY-MlrL-vgXW-7Kam-pAfU-Qc8mal
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                1000.00 MB
  Current LE             250
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
——————————————————————————————————
        3
)增大邏輯卷大小:
                lvextend
命令:增大邏輯卷大小
格式:lvextend -L +100M /dev/vg0/data
——————————————————————————————————
[root@station1 ~]# lvextend -L +1000M /dev/vg0/data
  Extending logical volume data to 1.95 GB
  Logical volume data successfully resized
——————————————————————————————————
resize2fs /dev/vg0/data  
使上面增加的立即生效。
——————————————————————————————————
[root@station1 ~]# resize2fs /dev/vg0/data
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg0/data to 512000 (4k) blocks.
The filesystem on /dev/vg0/data is now 512000 blocks long.
[root@station1 ~]# lvscan
  ACTIVE            '/dev/vg0/data' [1.95 GB] inherit
——————————————————————————————————
        4
)減少邏輯卷大小:
                lvreduce
命令:減少邏輯卷大小
格式:Lvreduce -L -100M /dev/vg0/data
——————————————————————————————————
[root@station1 ~]# lvreduce -L -1000M /dev/vg0/data
  WARNING: Reducing active logical volume to 1000.00 MB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data? [y/n]: y
  Reducing logical volume data to 1000.00 MB
  Logical volume data successfully resized
——————————————————————————————————
                resize2fs /dev/vg0/data  
使上面增加的立即生效。
——————————————————————————————————
[root@station1 ~]# resize2fs /dev/vg0/data
resize2fs 1.39 (29-May-2006)
resize2fs: Bad magic number in super-block while trying to open /dev/vg0/data
Couldn't find valid filesystem superblock.
[root@station1 ~]# lvscan
  ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit
  ACTIVE            '/dev/vg0/data128' [128.00 MB] inherit
——————————————————————————————————
        5)lvremove
刪除邏輯卷:
格式:lvremove /dev/卷組名/邏輯卷名
——————————————————————————————————
[root@station1 ~]# lvremove /dev/vg0/data128
Do you really want to remove active logical volume "data128"? [y/n]: y
  Logical volume "data128" successfully removed
[root@station1 ~]# lvscan
  ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit
——————————————————————————————————
六、LVM的快照:
1)快照的建立:
Lvcreate -l 64 -s -n databackup /dev/vg0/data
-l 64
:之前我們已經說過了這裡是 64個擴充套件塊,總容量=64*單擴充套件塊大小
-n databackup
:生成的快照的名字。
  /dev/vg0/data
:源邏輯卷名字。
————————————————————————————————————
[root@station1 ~]# lvscan
  ACTIVE            '/dev/vg0/data' [1000.00 MB] inherit
[root@station1 ~]# lvcreate -L 1000M -s -n databackup /dev/vg0/data
  Logical volume "databackup" created
[root@station1 ~]# lvscan
  ACTIVE   Original '/dev/vg0/data' [1000.00 MB] inherit
  ACTIVE   Snapshot '/dev/vg0/databackup' [1000.00 MB] inherit
————————————————————————————————————
2
)快照的刪除:
  lvremove /dev/vg0/databackup
————————————————————————————————————
[root@station1 ~]# lvremove /dev/vg0/databackup
Do you really want to remove active logical volume "databackup"? [y/n]: y
  Logical volume "databackup" successfully removed
————————————————————————————————————

七、掛載
將新分的卷掛載在需要掛載的目錄下:

格式:mount /dev/<vgname>/<lvname>  /要掛載的點

Mkdir –p  /tmp/123//建掛載點  /tmp/123 下掛載

# Mount  /dev/VolGroup0/data  /tmp/123

設定永久掛載:

# vi /etc/fstab

/dev/VolGroup0/data      /tmp/123     ext3defaults  1  2

 

Mout 可以檢視檔案系統格式 

八、總結:
建立邏輯卷的順序:Linux分割槽---物理卷---卷組---邏輯卷
刪除邏輯卷的順序:邏輯卷---卷組----物理卷---Linux分割槽

 

 

 

 

--檢視卷組的命令,可以看到總磁碟空間,剩餘空間

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               VolGroup00

System ID            

Format                lvm2

Metadata Areas        1

Metadata Sequence No  18

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                8

Open LV               8

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               837.09 GB

  PE Size               32.00 MB

Total PE              26787

Alloc PE / Size       21417 / 669.28 GB

Free  PE / Size       5370 / 167.81 GB

  VG UUIDdM0jwy-1nGJ-FMY1-0I4P-E9BF-bFcb-MKk0cv

 

--檢查檔案系統的磁碟空間佔用情況

[root@localhost ~]# df -h /u04

檔案系統              容量  已用可用 已用掛載點

/dev/mapper/VolGroup00-u04

                       49G   43G3.3G  93% /u04

 

--擴充套件邏輯卷大小

[root@localhost ~]# lvextend -L +50G /dev/mapper/VolGroup00-u04

Extending logical volume u04 to 99.03 GB

Logical volume u04 successfully resized

 

--重新定義ext2,ext3或者是ext4檔案系統

[root@localhost ~]# resize2fs /dev/mapper/VolGroup00-u04

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/mapper/VolGroup00-u04 is mounted on /u04; on-line resizing required

Performing an on-line resize of /dev/mapper/VolGroup00-u04 to 25960448 (4k) blocks.

The filesystem on /dev/mapper/VolGroup00-u04 is now 25960448 blocks long.

 

[root@localhost ~]# df -h /u04

檔案系統              容量  已用可用 已用掛載點

/dev/mapper/VolGroup00-u04

                       98G   43G50G  47% /u04

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1847300/,如需轉載,請註明出處,否則將追究法律責任。

相關文章