磁盤管理:raid和lvm練習

本文通過以下習題,鞏固所學raid和lvm知識:

20160829

        1、創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄

        2、創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄

      

20160831

        1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄

        2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄

        3、擴展testlv至7G,要求archlinux用戶的文件不能丟失

        4、收縮testlv至3G,要求archlinux用戶的文件不能丟失

        5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能


raid習題:

復習raid相關知識

常用raid級別:

RAID-0 RAID-1
讀、寫性能提升; 讀性能提升、寫性能略有下降;
可用空間: N*min(S1,S2,…) 可用空間: 1*min(S1,S2,…)
無容錯能力 有冗余能力
最少磁盤數: 2, 2+ 最少磁盤數: 2, 2N
RAID-5
讀、寫性能提升
可用空間: (N-1)*min(S1,S2,…)
有容錯能力:允許最多1塊磁盤損壞
最少磁盤數: 3, 3+

Linux raid命令mdadm:

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

常用選項:

創建(create):-C
-n #: 使用#個塊設備來創建此RAID;
-l #:指明要創建的RAID的級別;
-a {yes|no}:自動創建目標RAID設備的設備文件;
-c CHUNK_SIZE: 指明塊大??;
-x #: 指明空閑盤的個數;
裝配 (Assemble): -A
監控(follow):   -F
管理: -f,   -r, -a
-f: 標記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
顯示raid的詳細信息:-D
停止md設備:-S

1、創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄

    本題主要是理解RAID1特性:鏡像卷。1G的raid1需要2個1G硬盤。

    步驟1:fdisk設置三個分區,注意t修改分區類型fd

    步驟2:創建raid,-l 指定raid級別1; -n 指定2個磁盤設備;-x指定一個空閑盤

[root@IP70-CentOS7 ~]# >>mdadm -C /dev/md1 -a yes -l 1 -n 2 -x 1 /dev/sdb{1,2,3}

    步驟3:格式化分區為ext4

[root@IP70-CentOS7 ~]# >>mkfs -t ext4 /dev/md1

    步驟4:blkid查詢UUID,并編輯/etc/fstab文件,使開機可掛載(mkdir創建掛載點/backup)

1472719127745423.png

1472719606168259.png

完成檢驗:

1472720236306453.png

1472720492294089.png


2、創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄

    與上題類似,只是步驟2,-l指定raid 5,-c 256

[root@IP70-CentOS7 ~]# >>mdadm -C /dev/md2 -a yes -l 5 -n 3 -c 256  /dev/sdc{1,2,3}

完成檢驗:

1472721725464408.png

lvm習題

復習lvm相關知識:

LVM(邏輯分區管理)中的幾個概念:
PV    (physical volume):物理卷在邏輯卷管理系統最底層,可為整個物理硬盤或實際物理硬盤上的分區。
VG    (volume group):卷組建立在物理卷上,一卷組中至少要包括一物理卷,卷組建立后可動態的添加卷到卷組中,一個邏輯卷管理系統工程中可有多個卷組。
LV    (logical volume):邏輯卷建立在卷組基礎上,卷組中未分配空間可用于建立新的邏輯卷,邏輯卷建立后可以動態擴展和縮小空間。
PE    (physical extent):物理區域是物理卷中可用于分配的最小存儲單元,物理區域大小在建立卷組時指定,一旦確定不能更改,同一卷組所有物理卷的物理區域大小需一致,新的pv加入到vg后,pe的大小自動更改為vg中定義的pe大小。
LE    (logical extent):邏輯區域是邏輯卷中可用于分配的最小存儲單元,邏輯區域的大小取決于邏輯卷所在卷組中的物理區域的大小。

1472955770695212.png


1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷    testlv;掛載至/users目錄

    步驟1:fdisk創建分區,并設置分區格式為8e

1472729575337115.png

    步驟2:pvcreate命令創建pv

[root@IP70-CentOS7 ~]# >>pvcreate /dev/sd{b,c}{1,2,3}
Image 20160901193611.png

    步驟3:創建vg,-s 指定PE大小16dMB

[root@IP70-CentOS7 ~]# >>vgcreate -s 16MB testvg /dev/sd{b,c}{1,2} /dev/sdb3

1472731482718112.png

    步驟4:創建lv

1472776996939334.png

    步驟5:格式化lv

1472777635391632.png

    步驟6:創建/users,并進行掛載

1472777692935454.png

2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄

[root@IP70-CentOS7 ~]# >>useradd -d /users/archlinux archlinux
[root@IP70-CentOS7 ~]# >>su - archlinux
[archlinux@IP70-CentOS7 ~]$ >>cp -a /etc/pam.d ~/
[archlinux@IP70-CentOS7 ~]$ >>ll  ~
total 4
drwxr-xr-x. 2 archlinux archlinux 4096 Aug 15 19:16 pam.d
[archlinux@IP70-CentOS7 ~]$ >>pwd
/users/archlinux
[archlinux@IP70-CentOS7 ~]$ >>

3、擴展testlv至7G,要求archlinux用戶的文件不能丟失

  •     3.1. 擴容lv,需要先考慮vg是否有足夠的未使用空間;

  •     3.2. 擴容相對安全,可以不需要取消掛載;

  •     3.3. 可以使用-r選項進行擴容,使添加的空間與原空間同步文件系統;

  •     3.4. 擴容大小必須是PE size的倍數。

[root@IP70-CentOS7 ~]# >>lvextend -r -L 7G /dev/testvg/testlv

1472819575724034.png

4、收縮testlv至3G,要求archlinux用戶的文件不能丟失

  •     4.1. 收縮lv空間有風險,強烈建議先備份數據;

  •     4.2. 已使用數據大小,必須小于收縮后的空間大??;

  •     4.3. 必須取消掛載后進行;

  •     4.4. 步驟為:  umount取消掛載==>e2fsck 檢測修復==>resize2fs重設文件系統大小==>lvreduce收縮lv

[root@IP70-CentOS7 ~]# >>umount /dev/testvg/testlv 
[root@IP70-CentOS7 ~]# >>e2fsck -f /dev/testvg/testlv
[root@IP70-CentOS7 ~]# >>resize2fs /dev/testvg/testlv 3G
[root@IP70-CentOS7 ~]# >>lvreduce -L 3G /dev/testvg/testlv
[root@IP70-CentOS7 ~]# >>mount /dev/testvg/testlv /users/

1472820786951418.png

5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能

    5.1. 快照僅作測試,不能代替備份;

    5.2. 快照是特殊的邏輯卷;

    5.3. 快照與被快照的lv共用部分PE,所以必須在同一個vg上;

    5.4 快照生成后,只有數據發生改變(快照lv 或被快照lv任一),才會消耗空間。

創建快照:

首先,我們對testlv寫入1G的文件:

1472951659994125.png

查看vg并對testlv創建快照:

1472949545646925.png

    解讀:

        1. 命令vgs可以看到剩余vg空間16.92g,對testlv創建快照前,要先查看testlv的vg是否有空閑空間可用;

        2. -L 1G 指定創建快照的大小為1G (等同 –size 1G);

        3. -s 創建快照選項 (等同–snapshot);

        4. -n data_snap 創建快照的名稱 (等同–name data_snap);

        5. /dev/testvg/testlv 對此lv做快照。

即:對邏輯卷/dev/testvg/testlv進行創建大小為1G,名字為data_snap的快照。

創建命令也可以使用如下命令,效果是一樣的

[root@IP70-CentOS7 ~]# >>lvcreate --size 1G --snapshot --name data_snap /dev/testvg/testlv

此時,我們查看快照屬性:

Image 20160904091815.png

再來對上面圖片中標注的要點作個清楚的說明:

  1.         快照的路徑;

  2.         快照lv名稱;

  3.         當前使用的卷組vg名;

  4.         讀寫模式下的快照卷,我們甚至可以掛載并使用該卷;

  5.         快照創建時間。這個很重要,因為快照將跟蹤此時間之后的每個改變;

  6.         該快照屬于testlv邏輯卷;

  7.         邏輯卷在線并可用;

  8.         我們錄制快照的源卷大小;

  9.         寫時復制表大小,Cow = copy on Write,這是說對testlv卷所作的任何改變都會寫入此快照;

  10.         當前使用的快照大小,

  11.         給出快照組塊的大小。

我們再給testlv創建1G的文件,并查看快照:

1472953813652347.png

1472953835298307.png

我們看到,源lv寫入數據太大,快照就會爆滿,如果快照邏輯卷滿了,它就會自動丟失新的數據,我們就不能再使用了。最好的方法就是在創建快照時,創建一個和源一樣大小的快照卷。testlv的大小是3GB,如果我們創建一個3GB大小的快照,它就永遠都不會像上面那樣超載,因為它有足夠的空間來錄制你的邏輯卷的快照。

快照的本質是lv卷,所以我們同樣可以對快照進行擴展和收縮。

原創文章,作者:昭其,如若轉載,請注明出處:http://www.www58058.com/42596

(0)
昭其昭其
上一篇 2016-09-05
下一篇 2016-09-05

相關推薦

  • 第五周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;grep “^[[:space:]]+”  /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;[root@localhost ~…

    Linux干貨 2017-03-10
  • 15 權限管理及作業

    15 權限管理及作業(作業單獨一篇) 一、雜項知識整理 1、訪問控制列表:ACL:Access Control List,實現靈活的權限管理。     除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限。     centos7.0之后默認創建的ext4文件系統有ACL功…

    Linux干貨 2016-08-04
  • 變量

    變量     在shell腳本中,單獨的字符或者命令只能引用一次,對于變量,我們可以多次引用,且對變量的賦值修改方便。對于一條很長的命令或者頻繁使用的路徑等,我們可以賦值給一個變量,比如獲得系統中所有用戶的uid,要輸入很長的一段命令,我們如果每次使用都輸入命令是件很麻煩的事情,如果賦值變量,那么就會很方便。設置變量userui…

    Linux干貨 2017-08-06
  • 用vsftpd來搭建網絡yum源

    1、分別在CentOS6和CentOS7分別搭建網絡yum源 a、CentOS 7中 首先安裝并啟用vsftpd服務 [root@node1 ~]# mount /dev/cdrom /mnt/yum/ [root@node1 ~]# vim /etc/yum.repos.d/local.repo [local] name=local baseurl=fil…

    2015-10-03
  • GNU awk工具的使用解析

    GNU awk: 簡介:awk是一個數據處理工具。它比較傾向于將一行分成多個“字段”來處理。所以,awk比較適合處理小型數據。 gawk – pattern scanning and processing language 實現原理: 基本用法:gawk [options] 'program' FILE program:PAT…

    Linux干貨 2016-09-21
  • N25-第四周作業

    第四周 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@zf ~]# cp -r /etc/skel/ /home/tuser1 [root@zf ~]# chmod -R&nbs…

    Linux干貨 2016-12-21
欧美性久久久久