Linux系統下磁盤配額、軟RAID及LVM的配置與管理

Linux系統下磁盤配額、軟RAID及LVM的

配置與管理

一、設定文件系統配額

1、概述:配額是操作系統的一個可選的功能, 它允許管理員以文件系統爲單元, 限制分派給用戶或組成員所使用的磁盤空間大小或是使用的總文件數量。這經常被用於那些分時操作的系統上, 對於這些系統而言, 通常希望限制分派到每一個用戶或組的資源總量, 從而可以防止某個用戶佔用所有可用的磁盤空間。

2、配置文件系統配額(基於用戶):

(1)配置配額前準備工作:

  1)備份/home目錄,創建分區,進行掛載,將/home目錄下的數據遷移到創建的分區上,刪除/home目錄下的數據,將新建分區掛載到/home目錄下並開啓配額功能。

  2)配置磁盤配額前工作:

[root@dayi123-6 ~]$cd /data/    

[root@dayi123-6 data]$tar -zcf bakhome.tar.gz /home/   #備份home目錄

#進行分區掛載

[root@dayi123-6 data]$parted /dev/sdb mklabel msdos 

[root@dayi123-6 data]$parted /dev/sdb mkpart primary 1 10G

[root@dayi123-6 data]$mkfs.ext4 /dev/sdb1

[root@dayi123-6 data]$mount /dev/sdb1 /mnt/home/

#爲了防止在數據遷移期間有用戶登錄,此處建議切換到單用戶模式

[root@dayi123-6 data]$cp -av /home/* /mnt/home/  #home目錄下的數據拷貝到分區

[root@dayi123-6 data]$du -sh /home/ /mnt/home/   #比較數據的大小是否一致

36K     /home/

36K     /mnt/home/

[root@dayi123-6 data]$rm -rf /home/*      #刪除/home目錄下的所有數據

#/etc/fstab文件中配置如下,同時開啓用戶和組的配額功能

[root@dayi123-6 data]$tail -1 /etc/fstab 

UUID=04602fe4-8b8f-487d-a606-3c8898550647 /home ext4 defaults,usrquota,grpquota 0 0

[root@dayi123-6 data]$mount –a          #使/etc/fstab配置生效

[root@dayi123-6 data]$ls /home/

dayi  dayi123  lost+found

[root@dayi123-6 data]$umount /mnt/home/

(2)創建配額數據庫(只爲用戶創建則參數爲cu,此處同時爲用戶和組創建,若未開啓組的配額功能,此處會報錯)

[root@dayi123-6 data]$quotacheck -cug /home/  

(3)啓用數據庫

   啓用:quotaon

   關閉:quotaoff

[root@dayi123-6 data]$quotaon /home/    #啓用數據庫

[root@dayi123-6 data]$quotaon -p /home/  #查看數據庫狀態

group quota on /home (/dev/sdb1) is on

user quota on /home (/dev/sdb1) is on

(4)編輯配額

   1)直接編輯配額:edquota username

[root@dayi123-6 data]$edquota dayi123   #編輯用戶的配額

Disk quotas for user dayi123 (uid 500):

  Filesystem   blocks   soft         hard     inodes     soft     hard

  /dev/sdb1     16    200000     250000     4        200      250

各參數說明:

   blocks:當前用戶使用了磁盤多少k

   sort(第一個):用戶使用多少磁盤時報警

   hard(第一個):用戶最多可以使用多少kb磁盤

   inodes:當前用戶使用了多少個inode

   sort(第二個):用戶使用多少個inode時開始報警

   hard(第二個):用戶最多可以使用多少個inode

   2)在shell中直接編輯配額

   setquota usename 150000 200000 200 3000 /目錄

[root@dayi123-6 data]$setquota dayi 150000 200000 200 300 /home/

[root@dayi123-6 data]$edquota dayi

Disk quotas for user dayi (uid 501):

  Filesystem    blocks     soft       hard        inodes     soft     hard

  /dev/sdb1     16      150000      200000       4        200      300

3)參照前一個用戶配額爲後一個用戶設置配額

edquota -p user1 user2

[root@dayi123-6 data]$edquota -p dayi123 dayi1  #參照dayi123dayi創建配額

[root@dayi123-6 data]$quota dayi1     #查看用戶的配額

Disk quotas for user dayi1 (uid 502):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/sdb1      16  200000  250000               4     200     250 

[root@dayi123-6 data]$repquota /home/    #查看所有用戶的配額

*** Report for user quotas on device /dev/sdb1

Block grace time: 7days; Inode grace time: 7days

                        Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

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

root      --      20       0       0              2     0     0      

dayi123   --      16  200000  250000              4   200   250      

dayi      --      16  150000  200000              4   200   300      

dayi1     --      16  200000  250000              4   200   250    

3、配置文件系統配額(基於用戶組):

基於用戶組的文件系統配額只對用戶屬組起作用,對用戶的附加組沒有作用,一個分區對用戶組的配額容量爲該組的所有用戶的總容量。

二、基於Linux系統實現軟RAID

1、軟raid的實現

(1)支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10

(2)RAID設備在Linux系統下的名稱: /dev/md0、/dev/md1、/dev/md2、/dev/md3等

(3)創建raid工具:mdadm

(4)命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>

(5)選項:

   1)創建模式:-C

      -n #: 使用#個塊設備來創建此RAID

      -l #:指明要創建的RAID的級別

      -a {yes|no}:自動創建目標RAID設備的設備文件

      -c CHUNK_SIZE: 指明塊大小

      -x #: 指明空閒盤的個數

   2)管理模式:

      -f: 標記指定磁盤爲損壞

      -a: 添加磁盤

      -r: 移除磁盤

   3)-D:顯示raid的詳細信息;

      mdadm -D /dev/md#

   4)觀察md的狀態:

      cat /proc/mdstat

(6)軟RAID的測試

   1)模擬磁盤故障:mdadm /dev/md0 –f /dev/sda1

   2)移除磁盤:mdadm /dev/md0 –r /dev/sda1

   3)添加磁盤:mdadm /dev/md0 –a /dev/sda1

(7)軟RAID管理

   1)生成配置文件:mdadm –D –s >> /etc/mdadm.conf

   2)停止設備:mdadm –S /dev/md0

   3)激活設備:mdadm –A –s /dev/md0 激活

   4)強制啓動:mdadm –R /dev/md0

   5)刪除raid信息:mdadm --zero-superblock /dev/sdb1

2、用軟RAID實現RAID0

(1)準備工作:準備兩塊硬盤(或大小相同的兩塊分區,如果是分區需要將磁盤標記爲raid分區)

(2)創建

#創建raid0,創建時指定raid級別及磁盤個數

[root@dayi123-6 ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@dayi123-6 ~]# lsblk         #查看創建後的設備

……

sdb      8:16   0   20G  0 disk 

└─md0    9:0    0   40G  0 raid0

sdc      8:32   0   20G  0 disk 

└─md0    9:0    0   40G  0 raid0

(3)對創建的RAID格式化:

[root@dayi123-6 ~]# mkfs.ext4 /dev/md0    #格式化創建的RAID

mke2fs 1.41.12 (17-May-2010)

……

[root@dayi123-6 ~]# blkid /dev/md0        #查看格式化後設備信息

/dev/md0: UUID="29768d99-002d-4b85-a3d1-1d3eb85a8420" TYPE="ext4"

(4)掛載RAID:

[root@dayi123-6 ~]# mkdir /mnt/md0     #常見掛載點

[root@dayi123-6 ~]# tail -1 /etc/fstab     #配置/etc/fstab

UUID=29768d99-002d-4b85-a3d1-1d3eb85a8420 /mnt/md0 swap defaults 0 0

[root@dayi123-6 ~]# mount –a           #使掛載生效

[root@dayi123-6 ~]# df -h /mnt/md0/     #查看掛載

Filesystem      Size  Used Avail Use% Mounted on

/dev/md0         40G   48M   38G   1% /mnt/md0

(5)刪除RAID:

   1)解除掛載

   2)停止RAID:mdadm -S /dev/md0

   3)清除磁盤RAID信息: mdadm -S /dev/md0

[root@dayi123-6 ~]# mdadm -S /dev/md0 #停止raid0,停止前先要解除掛載,刪除配置

mdadm: stopped /dev/md0

[root@dayi123-6 ~]# mdadm --zero-superblock /dev/sdb   #刪除磁盤raid信息

[root@dayi123-6 ~]# mdadm --zero-superblock /dev/sdc

[root@dayi123-6 ~]# lsblk   #設備中已經沒有raid信息了

…….

sdb      8:16   0   20G  0 disk

sdc      8:32   0   20G  0 disk

[root@dayi123-6 ~]# blkid  #已經沒有raid磁盤的及raid的信息

/dev/sda1: UUID="406c0f3c-c6ed-42d9-aac1-92fe4794b747" TYPE="ext4"

/dev/sda2: UUID="214985a7-c464-4ee5-bac6-48346f988c73" TYPE="swap"

/dev/sda3: UUID="579994ee-475f-4b91-9bfa-4a4b0a5705f9" TYPE="ex

3、軟RAID實現RAID5

(1)準備工作:準備好大小相同的三塊磁盤(或分區,分區需要將分區ID標識爲fd)和一塊熱備盤(大小規格也要相同)。

(2)創建raid5

[root@dayi123 ~]$mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc /dev/sdd

 /dev/sde   #創建raid5指定raid5名稱爲/dev/md5,指定三塊盤和一塊熱備盤

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md5 started.

[root@dayi123 ~]$mdadm -D /dev/md5   #查看創建的raid5的信息

/dev/md5:

…….

    Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       32        1      active sync   /dev/sdc

       4       8       48        2      active sync   /dev/sdd

 

       3       8       64        -      spare   /dev/sde

(3)對創建的raid5格式化

[root@dayi123 ~]$mkfs.ext4 /dev/md5

(4)掛載raid5

[root@dayi123 ~]$mkdir /mnt/raid5  #創建掛載點

[root@dayi123 ~]$mount /dev/md5 /mnt/raid5/ #掛載raid5,同時需要寫入/etc/fstab

[root@dayi123 ~]$df -h            #查看掛載信息

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        18G  9.9G  6.7G  60% /

tmpfs           491M     0  491M   0% /dev/shm

/dev/sda1       190M   66M  115M  37% /boot

/dev/sr0        3.7G  3.7G     0 100% /mnt/cdrom

/dev/md5        3.9G  8.0M  3.7G   1% /mnt/raid5

(5)生成配置文件

[root@dayi123 ~]$mdadm -Ds >/etc/mdadm.conf

[root@dayi123 ~]$cat /etc/mdadm.conf

ARRAY /dev/md5 metadata=1.2 spares=1  \

name=dayi123:5UUID=037252d2:9c644dfa:7644c7b8:f6cc5c90

(6)禁用和啓用RAID

[root@dayi123 ~]$umount /dev/md5     #取消掛載

[root@dayi123 ~]$mdadm -S /dev/md5   #停用raid5

mdadm: stopped /dev/md5

[root@dayi123 ~]$mdadm -D /dev/md5   #停用後查看狀態信息

/dev/md5:

        Version :

     Raid Level : raid0

  Total Devices : 0

 

          State : inactive

 

    Number   Major   Minor   RaidDevice

[root@dayi123 ~]$mdadm -A /dev/md5  #啓用RAID5

mdadm: /dev/md5 has been started with 3 drives and 1 spare.

[root@dayi123 ~]$mdadm -D /dev/md5  #啓用後查看狀態信息

/dev/md5:

……

    Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       32        1      active sync   /dev/sdc

       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde

(7)模擬損壞、移處損壞盤

[root@dayi123 ~]$mdadm /dev/md5 -f /dev/sdd    #模擬/dev/sdd盤損壞

mdadm: set /dev/sdd faulty in /dev/md5

[root@dayi123 ~]$mdadm -D /dev/md5  #查看信息時,熱備盤會頂替上去

/dev/md5:

    Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       32        1      active sync   /dev/sdc

       3       8       64        2      active sync   /dev/sde

 

       4       8       48        -      faulty   /dev/sdd

[root@dayi123 ~]$mdadm /dev/md5 -r /dev/sdd  #移處損壞盤

mdadm: hot removed /dev/sdd from /dev/md5

[root@dayi123 ~]$mdadm -D /dev/md5  #在此查看raid信息時,看不到損壞盤

/dev/md5:

   Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       32        1      active sync   /dev/sdc

       3       8       64        2      active sync   /dev/sde

(8)移除損壞盤後,添加新盤到raid成員

[root@dayi123 ~]$mdadm /dev/md5 -a /dev/sdf    #添加新盤到raid組中

mdadm: added /dev/sdf              

[root@dayi123 ~]$mdadm -D /dev/md5   #新添加的盤會變爲熱備盤

/dev/md5:

    Number   Major   Minor   RaidDevice State

       0       8       17        0      active sync   /dev/sdb1

       1       8       32        1      active sync   /dev/sdc

       3       8       64        2      active sync   /dev/sde

 

       4       8       80        -      spare   /dev/sdf

(9)增加raid組磁盤數量

[root@dayi123 ~]$mdadm -G /dev/md5 -n 5 -a /dev/sdg    #raid組添加新磁盤

mdadm: added /dev/sdg

[root@dayi123 ~]$lsblk          #查看新添加的磁盤

……

sdf       8:80   0    2G  0 disk 

└─md5     9:5    0    4G  0 raid5

sdg       8:96   0    2G  0 disk 

└─md5     9:5    0    4G  0 raid5

[root@dayi123 ~]$df –h        #查看raid容量,但容量沒有增加

……

/dev/md5        3.9G  8.0M  3.7G   1% /mnt/raid5

[root@dayi123 ~]$resize2fs /dev/md5   #同步文件系統

[root@dayi123 ~]$df –h              #文件系統同步後,raid設備容量纔會增加

……

/dev/md5        5.9G  8.0M  5.6G   1% /mnt/raid5

三、邏輯卷管理

1、LVM概述:

(1)lvm概述:LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。

(2)lvm的工作原理:是通過將底層的物理硬盤抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對於分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。比如說我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因爲呈現給上層服務的是以邏輯卷的方式。

(3)特點:可以對磁盤進行動態管理。因爲邏輯卷的大小是可以動態調整的,而且不會丟失現有的數據。如果我們新增加了硬盤,其也不會改變現有上層的邏輯卷。作爲一個動態磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性。

(4)基本的邏輯卷管理概念:

   1)PV(Physical Volume)物理卷:物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤,也可以是raid設備。

   2)VG(Volumne Group)卷組:卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之後可動態添加物理捲到卷組中。

   3)LV(Logical Volume)邏輯卷:邏輯卷建立在卷組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組。對創建的邏輯卷格式化後可以掛載使用

wKiom1kAuJeBzf3UAAFIF8wJKPw910.jpg-wh_50

Lvm關係圖

2、Linux系統下創建與管理LVM

(1)準備工作:準備分區(分區ID爲修改爲8e)或者硬盤,也可以是raid,對磁盤及分區大小沒有限制及要求

(2)創建pv(將物理存儲設備轉爲爲物理卷)

[root@dayi123-6 ~]# pvcreate /dev/sdb /dev/sdc   #使用物理存儲設備創建物理卷

  Physical volume "/dev/sdb" successfully created

  Physical volume "/dev/sdc" successfully created

[root@dayi123-6 ~]# pvs

  PV         VG   Fmt  Attr PSize  PFree

  /dev/sdb        lvm2 ---- 20.00g 20.00g

  /dev/sdc        lvm2 ---- 20.00g 20.00g           

[root@dayi123-6 ~]# pvdisplay

  "/dev/sdb" is a new physical volume of "20.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name              

  PV Size               20.00 GiB

……

(3)創建卷組(將多個物理卷合爲一個邏輯卷組)

#創建卷組,指定pe大小爲16m(默認pe大小爲4M

[root@dayi123-6 ~]# vgcreate -s 16 vg0 /dev/sdb /dev/sdc

  Volume group "vg0" successfully created

[root@dayi123-6 ~]# vgs

  VG   #PV #LV #SN Attr   VSize  VFree

  vg0    2   0   0 wz--n- 39.97g 39.97g

[root@dayi123-6 ~]# vgdisplay #查看卷組的詳細信息

  --- Volume group ---

  VG Name               vg0

  System ID            

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  …….

  VG Size               39.97 GiB

  PE Size               16.00 MiB

  Total PE              2558

  Alloc PE / Size       0 / 0  

  Free  PE / Size       2558 / 39.97 GiB

  VG UUID               W2aY1g-3vpG-eDbD-HSyc-rlsW-PfKe-dULzaT

(4)創建邏輯卷(相當於對磁盤分區,卷組可以看成是一塊磁盤)

#在卷組vg0上創建邏輯卷,卷名爲lv0,大小爲30G

[root@dayi123-6 ~]# lvcreate -n lv0 -L 30G vg0

  Logical volume "lv0" created.

[root@dayi123-6 ~]# lvs

  LV   VG   Attr   LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv0  vg0  -wi-a----- 30.00g                                                    

[root@dayi123-6 ~]# lvdisplay    #查看邏輯卷的詳細信息

  --- Logical volume ---

  LV Path                /dev/vg0/lv0

  LV Name                lv0

  VG Name                vg0

  LV UUID                Y24sWa-EDEU-ceej-6ESf-6MzZ-y0l6-8CaVfg

  LV Write Access        read/write

  LV Creation host, time dayi123-6.9, 2017-04-19 11:41:56 +0800

  LV Size                30.00 GiB

……

(5)使用創建的邏輯卷(對創建的邏輯卷格式化,掛載)

[root@dayi123-6 ~]# mkfs.ext4 /dev/vg0/lv0    #格式化新建的邏輯卷

[root@dayi123-6 ~]# mkdir /mnt/lv0          #創建掛載點

[root@dayi123-6 ~]# mount /dev/vg0/lv0 /mnt/lv0/  #掛載邏輯卷

[root@dayi123-6 ~]# df -h /dev/vg0/lv0

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/vg0-lv0   30G   44M   28G   1% /mnt/lv0

(6)擴展邏輯卷(當邏輯卷不夠用時,可用卷組空餘的空間對邏輯卷擴展)

   1)擴展邏輯卷方法一:

[root@dayi123-6 mnt]# vgdisplay     #查看卷組剩餘可用空間

  --- Volume group ---

 ……

  Alloc PE / Size       1920 / 30.00 GiB

  Free  PE / Size       638 / 9.97 GiB

  VG UUID               W2aY1g-3vpG-eDbD-HSyc-rlsW-PfKe-dULzaT

[root@dayi123-6 mnt]# lvextend -L 32G /dev/vg0/lv0  #擴展邏輯卷

[root@dayi123-6 mnt]# resize2fs /dev/vg0/lv0       #擴展完成後同步文件系統

[root@dayi123-6 mnt]# df -h /dev/vg0/lv0

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/vg0-lv0   32G  1.1G   29G   4% /mnt/lv0

  2)擴展邏輯卷方法二(一步到位,擴展完成後不需要同步文件系統):

[root@dayi123-6 mnt]# lvextend -r -L 35G /dev/vg0/lv0  #擴展邏輯卷

[root@dayi123-6 mnt]# df -h /dev/vg0/lv0   #擴展後不需要同步文件系統

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/vg0-lv0   35G  1.1G   32G   4% /mnt/lv0

3)使用卷組剩餘空間擴展邏輯卷:

[root@dayi123-6 mnt]# lvextend -l +100%FREE /dev/vg0/lv0  #使用卷組剩餘空間擴展

#同步文件系統,centos7同步方法爲xfs_growfs /dev/vg0/lv0

[root@dayi123-6 mnt]# resize2fs /dev/vg0/lv0

[root@dayi123-6 mnt]# df -h /dev/vg0/lv0

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/vg0-lv0   40G  1.1G   37G   3% /mnt/lv0

(7)更換磁盤,遷移PE到新的磁盤上

[root@dayi123-6 mnt]# vgextend vg0 /dev/sd  #設置新的磁盤爲物理卷

sda   sda1  sda2  sda3  sdb   sdc   sdd  

[root@dayi123-6 mnt]# vgextend vg0 /dev/sdd  #將物理卷擴展到卷組

  Volume group "vg0" successfully extended

[root@dayi123-6 mnt]# vgs                 #查看擴展後的卷組

  VG   #PV #LV #SN Attr   VSize   VFree 

  vg0    3   1   0 wz--n- 239.95g 199.98g

[root@dayi123-6 mnt]# vgdisplay            #查卷組的詳細信息

[root@dayi123-6 mnt]# pvdisplay            #查看物理卷信息信息

[root@dayi123-6 mnt]# pvmove /dev/sdc     #對卷組成員/dev/sdc的數據遷移

  /dev/sdc: Moved: 0.0%

  /dev/sdc: Moved: 26.4%

  /dev/sdc: Moved: 58.5%

  /dev/sdc: Moved: 88.3%

  /dev/sdc: Moved: 100.0%

[root@dayi123-6 mnt]# vgreduce vg0 /dev/sdc  #標記/dev/sdc爲無效的卷組成員

  Removed "/dev/sdc" from volume group "vg0"

[root@dayi123-6 mnt]# pvdisplay            #在此查看物理卷信息

[root@dayi123-6 mnt]# pvremove /dev/sdc    #移除物理卷

  Labels on physical volume "/dev/sdc" successfully wiped

(8)縮減邏輯卷(縮減之前需要備份邏輯捲上的數據,以防在縮減的過程中數據丟失,同時需要卸載掛載的邏輯卷)

[root@dayi123-6 mnt]# umount /dev/vg0/lv0   #取消掛載

[root@dayi123-6 mnt]# e2fsck -f /dev/vg0/lv0   #縮減前需要進行檢測

[root@dayi123-6 mnt]# resize2fs /dev/vg0/lv0 20G  #重設分區大小

[root@dayi123-6 mnt]# lvreduce -L 20G /dev/vg0/lv0  #對邏輯捲縮減

[root@dayi123-6 mnt]# mount /dev/vg0/lv0 /mnt/lv0/ #縮減後掛載

[root@dayi123-6 mnt]# df -h /dev/vg0/lv0       #查看縮減後的容量

Filesystem           Size  Used Avail Use% Mounted on

/dev/mapper/vg0-lv0   20G  1.1G   18G   6% /mnt/lv0

3、快照創建與管理
(1)原理:當一個快照(snapshot)創建的時候,僅拷貝原始卷裏數據的元數據(meta-data)。創建的時候,並不會有數據的物理拷貝,因此快照的創建幾乎是實時的,當原始捲上有修改時候,原始捲上會將要改變的數據在改變之前拷貝到快照預留的空間裏,再對元數據進行改變。

wKiom1kAuEvi4laMAADIP33uAMU070.jpg-wh_50

創建快照原理

(2)快照卷組大小:估計快照創建到釋放這段時間內,塊的改變量有大小及數據更新的頻率

(3)創建快照:(創建快照前要查看卷組的剩餘空間大小,是否滿足快照所需空間的需求,創建的快照名稱要有實際意義)

#爲邏輯卷newlv0創建一個名稱爲snaplv的快照,大小爲2G,屬性設置爲只讀

[root@dayi123-6 ~]# lvcreate -s -n snaplv -p r -L 2G /dev/newvg0/newlv0

  Logical volume "snaplv" created.

[root@dayi123-6 ~]# lvs

  LV     VG   Attr    LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  newlv0 newvg0 owi-aos--- 20.00g                                                   

  snaplv newvg0 sri-a-s---  2.00g      newlv0 0.00 

(4)恢復快照(快照爲一次性的,使用完之後就不存在了,在恢復快照之前需要將掛載的邏輯卷取消掛載)

[root@dayi123-6 ~]# cd /mnt/lv0/   

[root@dayi123-6 lv0]# rm -rf cs      #刪除邏輯卷newlv0掛載目錄下數據

[root@dayi123-6 lv0]# cd ..

[root@dayi123-6 mnt]# umount /dev/newvg0/newlv0  #取消邏輯卷lv0掛載

[root@dayi123-6 mnt]# lvconvert --merge /dev/newvg0/snaplv  #恢復快照

  Merging of volume snaplv started.

  newlv0: Merged: 100.0%

  Merge of snapshot into logical volume newlv0 has finished.

  Logical volume "snaplv" successfully removed

[root@dayi123-6 mnt]# mount /dev/newvg0/newlv0 /mnt/lv0/  #掛載

[root@dayi123-6 mnt]# ll /mnt/lv0/cs   #查看刪除的數據是否恢復

-rw-r--r--. 1 root root 1073741824 Apr 19 12:00 /mnt/lv0/cs

[root@dayi123-6 mnt]# lvs    #查看邏輯卷,邏輯卷(snaplv)已經不存在

  LV     VG     Attr  LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  newlv0 newvg0 -wi-ao---- 20.00g

4、邏輯卷的刪除

(1)刪除前準備工作(刪除邏輯卷前需要先備份好邏輯卷中的數據。刪除前先取消掛載,再刪除邏輯卷,再刪除卷組,最後刪物理卷)

(2)刪除邏輯卷

   1)刪除邏輯卷

[root@dayi123-6 mnt]# umount /dev/newvg0/newlv0    #取消掛載

[root@dayi123-6 mnt]# lvremove /dev/newvg0/newlv0   #刪除邏輯卷

Do you really want to remove active logical volume newlv0? [y/n]: y

  Logical volume "newlv0" successfully removed

[root@dayi123-6 mnt]# lvs   #刪除邏輯卷後查看邏輯信息

   2)刪除卷組

[root@dayi123-6 mnt]# vgremove newvg0    #刪除卷組

  Volume group "newvg0" successfully removed

[root@dayi123-6 mnt]# vgs     #刪除後確認卷組是否被刪除

   3)刪除物理卷

[root@dayi123-6 mnt]# pvremove /dev/sdb /dev/sdd   #刪除物理卷

  Labels on physical volume "/dev/sdb" successfully wiped

  Labels on physical volume "/dev/sdd" successfully wiped

[root@dayi123-6 mnt]# pvs  #刪除物理卷後確認物理卷是否被刪除

5、案例:遷移卷組到新的系統中

1)在源計算機上的操作

   1)遷移前的準備工作:

[root@dayi123-6 mnt]# pvs     #查看卷粗使用的磁盤

  PV         VG   Fmt  Attr PSize   PFree 

  /dev/sdb   vg0  lvm2 a--u  19.98g      0

  /dev/sdd   vg0  lvm2 a--u 199.98g 199.97g

[root@dayi123-6 mnt]# umount /mnt/lv0  #取消lv0的掛載

[root@dayi123-6 mnt]# vgrename vg0 newvg0  #爲了方便管理,對卷組重新命名

  Volume group "vg0" successfully renamed to "newvg0"

[root@dayi123-6 mnt]# lvrename /dev/newvg0/lv0 newlv0

  Renamed "lv0" to "newlv0" in volume group "newvg0" #對邏輯卷重新命名

   2)設置卷組

[root@dayi123-6 ~]# vgchange -a n newvg0   將卷組設置爲非活動狀態

  Volume group "newvg0" is exported

[root@dayi123-6 ~]# vgexport newvg0   #刪除/etc/lvm.conf中關於這個newvg0的信息

  Volume group newvg0 is exported

  Cannot process volume group newvg0

[root@dayi123-6 ~]# pvscan           #掃描系統中的物理卷列表

   3)拔出與卷組相關的硬盤

2)在目標計算機上的操作

   1)在目標計算機上插入硬盤

   2)配置lvm

[root@dayi123 ~]$vgimport newvg0    #設置lvm的配置文件

  Volume group "newvg0" successfully imported

[root@dayi123 ~]$vgchange -a y newvg0    #激活卷組

  1 logical volume(s) in volume group "newvg0" now active

   3)掛載使用邏輯卷

[root@dayi123 ~]$mkdir /mnt/newlv0     #創建掛載點

[root@dayi123 ~]$mount /dev/newvg0/newlv0 /mnt/newlv0/  #掛載邏輯卷

[root@dayi123 ~]$df -h /dev/newvg0/newlv0 #查看邏輯卷的使用情況

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/newvg0-newlv0

                       20G  1.1G   18G   6% /mnt/newlv0

[root@dayi123 ~]$ll /mnt/newlv0/     #查看邏輯卷中的文件爲原來的文件

total 1048596

-rw-r--r--. 1 root root 1073741824 Apr 19 12:00 cs

drwx------. 2 root root      16384 Apr 19 11:59 lost+found


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章