上篇博文給大家介紹了磁盤和文件系統的基礎知識,也是最基本的使用.在實際生產環境中,對于磁盤的使用,要求穩定,靈活,那么下面給大家分享下磁盤的高級用法.磁盤配額,RAID,LVM等相關知識.
1.磁盤配額
2.磁盤RAID
3.LVM
一.磁盤配額
1.概述:
? 在內核中執行 ? 以文件系統為單位啟用 ? 對不同組或者用戶的策略不同 根據塊或者節點進行限制 ? 執行軟限制( soft limit) ? 硬限制( hard limit) Linux是多用戶的操作系統,同一時間可能有多個用戶登錄到系統上進行相關操作,用戶在操作的時候,可能會寫入很多數據,占用大量磁盤空間,導致其他用戶想寫數據的時候,沒有磁盤空間可用,如何限定某個用戶對磁盤的使用空間大小,以及可使用的inode多少,也就是限定可創建多少個文件,這就是磁盤配額管理的作用。 磁盤配額管理的是針對一個獨立的分區文件系統進行管理,不能跨分區,如果我們希望對某個目錄進行磁盤配額管理,則需要將該目錄單獨掛載至某個獨立的分區
2.初始化
? 分區掛載選項: usrquota、 grpquota 修改完/etc/fstab,必須重新掛載分區 ? 初始化數據庫: quotacheck quotacheck -cu|-cg|-cug /DIR 針對某個分區的掛載目錄初始化quota數據庫,可以針對用戶創建、針對組創建、或者兩個都創建,看第一步掛載選項啟用的那些都創建那些 初始化數據塊后,會在被執行磁盤配額的目錄下生成相關的數據庫文件,該文件無法通過vi等編輯器查看
3.執行
? 開啟或者取消配額: quotaon、 quotaoff quotaon -p /DIR 查看某目錄磁盤配額是否啟用 ? 直接編輯配額文件: edquota username 根據現有用戶的配置來設置別的用戶 edquota -p USER1 USER2 根據user1設置user2 ? 在shell命令行中直接編輯: setquota usename 4096 5120 40 50 /foo ? 定義原始標準用戶 edquota -p user1 user2
4.報告數據配額
報告 ? 用戶調查: quota USERNAME 查看某用戶配額信息 ? 配額概述: repquota /DIR 查看掛載點的整體配額信息 ? 其它工具: warnquota
5.操作:
1.備份/home文件
cp -r /home/* /tmp/home/
2.在/etc/fstab中指定掛載分區的掛載選項(usrquota,grpquota)
[fedora@w7 ~]$ cat /etc/fstab /dev/sdc1 /home ext4 usrquota,grpquota 0 0
3.掛載分區并移會home文件
mount -a df -h mv /tmp/home/* /home ll /home
4.創建配額數據庫
setenforce 0 (centos6必須關閉SELINUX) quotacheck -cug /home(掛載分區) [root@w7 ~]# ll /home/ total 48 -rw------- 1 root root 7168 Aug 31 01:11 aquota.group -rw------- 1 root root 7168 Aug 31 01:11 aquota.user drwx------. 4 centos centos 4096 Jul 31 04:19 centos
5.啟動數據庫
quotaon -p /home/ 查看是否啟用數據庫 [root@w7 ~]# quotaon -p /home/ group quota on /home (/dev/sda4) is off user quota on /home (/dev/sda4) is off quotaon /home/ 啟用數據庫 [root@w7 ~]# quotaon /home/ [root@w7 ~]# quotaon -p /home/ group quota on /home (/dev/sda4) is on user quota on /home (/dev/sda4) is on
6.配置配額項
1.edquota fedora 數據庫配額 Filesystem blocks soft hard inodes soft hard /dev/sda4 44(當前字節) 100(警告字節)100(最大字節) 11(當前文件數)2(警告文件數 0(最大文件數) 2. edquota -p fedora wen 復制數據庫配額給其他用戶 3.setquota fedora 100000 150000 0 0 /home/ 命令行配額 [root@w7 home]# setquota centos 10000 50000 2 3 /home
7.查看使用情況
repquota /home/ [root@w7 ~]# repquota /home/ *** Report for user quotas on device /dev/sda4 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 wen -+ 40 100 200 10 2 0 6days centos -- 44 0 0 11 0 0 fedora -+ 44 100 200 11 2 0 6days hodoop -- 16 0 0 4 0 0
8.測試
[root@w7 home]# su - centos [centos@w7 ~]$ dd if=/dev/zero of=./test1 bs=1 count=34000 34000+0 records in 34000+0 records out 34000 bytes (34 kB) copied, 0.0592565 s, 574 kB/s [centos@w7 ~]$ dd if=/dev/zero of=./test2 bs=1 count=34000 dd: failed to open ‘./test2’: Disk quota exceeded [centos@w7 ~]$ dd if=/dev/zero of=./test3 bs=1 count=34000 dd: failed to open ‘./test3’: Disk quota exceeded
二.磁盤RAID
1.概論:
RAID:(Redundant Arrays of (Inexpensive)Independent Disks) 廉價冗余磁盤陣列,獨立冗余磁盤陣列 多個磁盤合成一個"陣列"來提供更高的性能,冗余,或者兩種兼備 使用環境:在早先的生產環境中,磁盤的生產能力很差,IO能力弱.一塊磁盤出現故障,整個設備就會停止工作. 出現地點:1988年由加利福尼亞大學伯克利分校( University ofCalifornia-Berkeley) “ A Case for Redundant Arrays of Inexpensive Disks”。 結合內核中的md(multi devices)模塊實現 作用: 提高IO能力: 磁盤并行讀寫 提高耐用性: 磁盤冗余來實現 實現方式: 外接式磁盤陣列:通過擴展卡提供適配能力 創建操作系統后,手工命令創建RAID 內嵌式RAID:主板集成RAID控制器 安裝操作系統前,提前規劃,在硬件上創建RAID 級別:多塊磁盤組織在一起的工作方式有所不同,級別僅代表磁盤的組織方式,不代表先進性 RAID-0: 條帶卷,strip; RAID-1: 鏡像卷,mirror; RAID-2: RAID-3: RAID-4: RAID-5: RAID-6: RAID-10: RAID-01: 注意:即使做RAID,也要做數據備份,raid,只是作用于磁盤損壞,而不導致業務中斷的場景,不代表數據一定安全.
2.級別描述
單類型:
RAID-0:無差錯控制的帶區組
描述:把多塊磁盤平行組織起來當成一塊硬盤實現IO并行組織的磁盤組織結構
工作機制:數據流通過控制器,控制器把數據切割成多塊chunk(跟文件系統的塊不同),分散到不同的磁盤(chunk按順序寫入不同的磁盤)
優勢:
讀寫性能提升(速度最快)
可用空間:N*min(s1,s2) 磁盤個數乘每個磁盤的最小空間
缺點:無容錯能力,耐用性下降(如果一個磁盤(物理)損壞,則所有的數據都無法使用)
限制:最少磁盤數2個
適用場景:臨時數據 (決不能當存儲設備的陣列)
RAID-1: 描述:把數據同時分別完整存儲到不同磁盤上,數據備份兩份或多份 工作機制:數據流通過控制器,控制器把數據切割成多塊chunk(跟文件系統的塊不同),把每個數據塊同時分別存儲到不同的磁盤,互為備份. 優勢: 讀性能提升(可以交叉讀),寫性能略下降 雙磁盤支持熱替換,安全性最高 缺點:有容錯能力,耐用性下降 數據同步,刪除創建同步 可用空間:磁盤總容量的一半,使用率最低 限制:最少磁盤數:2個 適用場景:重要數據
RAID-4: 描述: 工作機制:將至少三塊磁盤組成RAID,將第一塊存儲校驗碼,其他磁盤存儲數據,把數據流分成塊,數據塊分別存儲在數據磁盤,第一塊校驗碼盤存放第二,第三塊盤的通過異或運算得到的數據.當數據盤的數據損壞,可通過剩余的盤與校驗碼盤計算,得到損失的數據(在恢復過程中,又造成數據損壞,則數據不可逆,永遠無法恢復) 異或運算(一組數據丟失,可通過跟校驗位比對,得出丟失的數據,兩組數組都丟失,過程不可逆,校驗碼丟失,沒影響; 在恢復數據過程中,大量占用系統IO): 110(數據) 101 (數據) 011(校驗碼) 優勢: 讀性能提升(可以交叉讀),寫性能略下降 可用空間:(n-1)*min(s1,s2) 磁盤個數減一乘每個磁盤的最小空間 缺點: 有容錯能力 校驗盤讀寫壓力大,成為性能瓶頸 限制:最少磁盤數:3個 適用場景:臨時數據
RAID-5(中小企業使用最多):分布式奇偶校驗的獨立磁盤結構 描述:校驗機制 工作機制:與RAID4集中校驗機制相比,RAID5的區別為是輪流校驗的機制.數據塊交替存在每個磁盤,校驗位交替存放在每個磁盤每,每個盤都是數據盤,每個盤都是校驗盤,有spare硬盤,若有硬盤損壞,空閑硬盤自動工作 優勢: 讀寫性能提升(讀很高,寫一般) 可用空間:(N-1)*min(s1,s2) 磁盤個數乘每個磁盤的最小空間 缺點: 有容錯能力, 允許1塊磁盤出錯 有寫損失,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息 限制:最少磁盤數:3個
RAID-6:帶有兩種分布存儲的奇偶校驗碼的獨立磁盤結構 描述:校驗機制 工作機制:與RAID4集中校驗機制相比,RAID5的區別為是輪流校驗的機制.前兩個數據塊交替存儲在數據盤,每第三,四塊盤做校驗盤,校驗碼存兩遍, 優勢: 數據絕不可能出錯 可用空間:(N-2)*min(s1,s2) (磁盤個數-2)乘每個磁盤的最小空間 缺點: 有容錯能力, 2塊磁盤 寫性能不好,造價高 限制:最少磁盤數:4個 適用場景:重要數據
RAID-7: 優化的高速數據傳送磁盤結構 RAID7所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的并行性,提高系統訪問數據的速度;每個磁盤都帶有高速緩沖 存儲器,實時操作系統可以使用任何實時操作芯片,達到不同實時系統的需要。允許使用SNMP協議進行管理和監視,可以對校驗區指定獨 立的傳送信道以提高效率??梢赃B接多臺主機,因為加入高速緩沖存儲器,當多用戶訪問 系 統時,訪問時間幾乎接近于0。由于采用并行結 構,因此數據訪問效率大大提高。需要注意的是它引入了一個高速緩沖存儲器,這有利有弊,因為一旦系統斷電,在高速緩沖存儲器內的數 據就會全部丟失,因此需要和UPS一起工作。當然了,這么快的東西,價格也非常昂貴。
混合型:
RAID-10:(最合理)高可靠性與高效磁盤結構 描述:兩兩或更多先做RAID1鏡像卷,再把多個鏡像卷做RAID0 工作機制:先把數據流分別完整存儲到兩個鏡像盤上,數據備份兩份;再把RAID1的鏡像卷,合并為RAID0 優勢: 讀寫性能提升 可用空間:N*min(s1,s2)/2 容錯性更強 缺點: 有容錯能力, 每組鏡像卷最多壞一塊,一組鏡像卷壞,整個raid破壞 限制:最少磁盤數:4個 適用場景:重要數據 RAID-01: 描述:兩兩或更多先做RAID0條帶卷,再把多個條帶卷做RAID1鏡像卷 工作機制:把RAID0和RAID1技術結合起來,即RAID0+1。數據除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗余能力,允許一個以下磁盤故障,而不影響數據可用性,并具有快速讀/寫能力。要求至少4個硬盤才能作成RAID0+1。 優勢: 讀寫性能提升 可用空間:50% 容錯性稍弱 缺點: 有容錯能力, 1塊磁盤 限制:最少磁盤數:4個 適用場景:臨重要數據適用場景:臨重要數據 RAID-50
JBOD:Just a Bunch of Disks
JBOD通常又稱為Span。它是在邏輯上將幾個物理磁盤一個接一個連起來, 組成一個大的邏輯磁盤。JBOD不提供容錯,該陣列的容量等于 組成Span的所有磁盤的容量的總和。JBOD嚴格意義上說,不屬于RAID的范圍。不過現在很多IDE RAID控制芯片都帶著種模式,JBOD就是 簡單的硬盤容量疊加,但系統處理時并沒有采用并行的方式,寫入數據的時候就是先寫的一塊硬盤,寫滿了再寫第二塊硬盤…… 不屬于RAID的范疇 功能:將多塊磁盤的空間合并一個大的連續空間使用; 可用空間:sum(s1,s2...)
常見級別:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
3.實現方式(centos上的軟RAID實現)
mdadm:模式化工具
如命令不能使用,則yum安裝mdadm
命令語法:mdadm [mode] <raiddevices> [options] <component-devices> 支持的RAID級別:LINEAR,RAID0,RAID1,RAID4,RIAD5,RAID6,RAID10 <raiddevices> :/dev/md# <component-devices>:任意塊設備 [options]: 模式: 創建:創建RAID設備 -C -n #: 使用#個塊設備來創建次RAID -l:指明要創建的RAID的級別 -a {yes|no}:表示是否自動創建目標RAID設備的設備文件 -c CHUNK_SIZE:指明塊大小 -x #:指明空閑盤的個數(沒有冗余能力的RAID,此選項沒用) 裝配:raid后,當某一磁盤損壞或拿掉后,掃描raid原有的元數據,重新裝配成原來的raid -A 監控: -F 管理: -f ,-r,-a -f:標記指定磁盤為損壞 -a:添加磁盤 -r:移除磁盤 刪除: -S 顯示RAID詳細信息: -D mdadm -D /dev/md# 觀察md的狀態: (創建RAID后查看,必須等文件中的進度條走完,才能實現其他功能,進度條代表生成RAID的過程) [root@w7 home]# cat /proc/mdstat 配合watch -n1 顯示實時查看 watch命令: -n #:刷新間隔,單位是秒 watch -n# 'COMMEND'
軟RAID配置實例
fdisk創建分區,修改類型為fd(實際生產過程中,使用整塊磁盤)
使用mdadm創建并定義RAID設備
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1用文件系統對每個RAID設備進行格式化
mke2fs -t ext4 /dev/md0測試RAID設備
mdadm允許檢查RAID設備的狀況
mdadm –detail|D /dev/md0查看RAID的配置文件
cat /proc/mdstat增加新的成員
mdadm –G /dev/md0 –n4 -a /dev/sdf1
軟RAID的刪除:
umount /掛載點
mdadm -S /dev/md#
rf -f /etc/mdadm.conf
fdisk /dev/sd#
mdadm —
mdadm -zero-superblock /dev/sd[a-z]#
軟RAID測試和修復
模擬磁盤故障(標記某磁盤為損壞磁盤,此步驟必須在/proc/mdstat文件進度條生成后)
mdadm /dev/md0 -f /dev/sda1移除磁盤
mdadm /dev/md0 –r /dev/sda1從軟件RAID磁盤修復磁盤故障
替換出故障的磁盤然后開機
在備用驅動器上重建分區
mdadm /dev/md0 -a /dev/sda1
mdadm、 /proc/mdstat及系統日志信息
軟RAID管理:
生成配置文件(很重要,否則開機找不到raid):
mdadm -D -s >/etc/mdadm.conf
停止md設備:
mdadm -S /dev/md#
激活md設備
mdadm -A -s /dev/md#
刪除RAID信息:
mdadm -zero-superblock /dev/sd[a-z]#
4.實戰
1:創建一個10G可用空閑的RAID5;
[root@w7 ~]# mdadm -C /dev/md1 -a yes -n 2 -x 1 -l 5 /dev/sdb{2,3,4}
-C 創建raid,-a 創建設備文件 -n指明使用#個磁盤做數據盤 -x 空閑盤為#個 -l指明RAID級別
mdadm: /dev/sdb4 appears to be part of a raid array: level=raid0 devices=0 ctime=Thu Jan 1 08:00:00 1970 mdadm: partition table exists on /dev/sdb4 but will be lost or meaningless after creating array Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started.
[root@w7 ~]# cat /proc/mdstat 查看raid的映射文件
Personalities : [raid6] [raid5] [raid4] md1 : active raid5 sdb3[3] sdb4[2](S) sdb2[0] 5238784 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/1] [U_] [====>................] recovery = 21.7% (1139712/5238784) finish=0.9min speed=71232K/sec unused devices: <none>
[root@w7 ~]# mke2fs -t ext4 /dev/md1 給RAID里的所有磁盤生成文件系統
mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2)
[root@w7 ~]# mount /dev/md1 /mnt 掛載RAID
[root@w7 ~]# mount 查看掛載情況
/dev/md1 on /mnt type ext4 (rw,relatime,stripe=128,data=ordered)
[root@w7 ~]# df -lh 查看RAID的磁盤大小
/dev/md1 4.8G 20M 4.6G 1% /mnt
[root@w7 ~]# blkid /dev/md1 使用UUID設置自動掛載,重啟機器后會改變設備名,寫入/etc/fstab
/dev/md1: UUID="ceadea35-a6e2-4763-ac62-86c323f27c2c" TYPE="ext4"
[root@w7 ~]# mdadm -Ds /dev/md1 > /etc/mdadm.conf 生成配置文件(很重要)
mdadm -S /dev/md0 停止raid
mdadm -A /dev/md0 啟動raid
2.設置損壞
[root@w7 ~]# mdadm -D /dev/md1 查看RAID狀態
/dev/md1: Version : 1.2 Creation Time : Fri Aug 26 21:01:52 201 Raid Level : raid5 Array Size : 5238784 (5.00 GiB 5.36 GB) Used Dev Size : 5238784 (5.00 GiB 5.36 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Fri Aug 26 21:03:55 2016 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : w7.2-b-214:1 (local to host w7.2-b-214) UUID : 254cfe33:b02cd9ac:464bc6a1:605f6422 Events : 18 Number Major Minor RaidDevice State 0 8 18 0 active sync /dev/sdb2 3 8 19 1 active sync /dev/sdb3 2 8 20 - spare /dev/sdb4
[root@w7 ~]# mdadm /dev/md1 -f /dev/sdb 編輯一塊磁盤為損壞
[root@w7 ~]# mdadm -D /dev/md1 再次查看信息
Number Major Minor RaidDevice State 3 8 64 0 spare rebuilding /dev/sde 1 8 32 1 active sync /dev/sdc 4 8 48 2 active sync /dev/sdd 0 8 16 - faulty /dev/sdb 原來空閑磁盤自動工作,標記損壞的磁盤自動到空閑位
[root@w7 ~]#mdadm /dev/md0 -r /dev/sdf1 刪除成員
[root@w7 ~]#mdadm /dev/md0 -a /dev/sdf1 增加
[root@w7 ~]#mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成員
3.刪除RAID,恢復磁盤
umount //mnt 從掛載點卸載raid
mdadm -S /dev/md1 停止RAID
rf -f /etc/mdadm.conf 刪除RAID的配置文件
fdisk /dev/sd# 整理磁盤的分區(整個磁盤做RAID,此部可省)
mdadm -zero-superblock /dev/sd[a-z]# 把每個做raid的磁盤都從RAID移除
4.創建一個可用空間為10G的RAID1設備,要求其chumk大小為128k,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
mdadm -C /dev/md4 -n 2 -l 1 -a yes -b 128 /dev/sdc1 /dev/sdc2 lsblk mdadm -D /dev/md4 mke2fs -t ext4 /dev/md4
5.創建一個可用空間為10G的RAID10設備,要求其chumk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄
mdadm -C /dev/md2 -n 2 -l 1 -a yes -c 128 /dev/sdc{1,2} mdadm -C /dev/md3 -n 2 -l 1 -a yes -c 128 /dev/sdd{1,2} lsblk mdadm -C /dev/md4 -n 2 -l 0 -a yes /dev/md{2,3} lsblk cat /proc/mdstat mdadm -D /dev/md4 mdadm /dev/md3 -r /dev/sdd1 mdadm /dev/md3 -f /dev/sdd1 mdadm -D /dev/md3
創建一個可用空間為10G的RAID01設備,要求其chumk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄
mdadm -C /dev/md5 -n 2 -l 0 -a yes /dev/sdc{3,4} 1071 mdadm -C /dev/md6 -n 2 -l 0 -a yes /dev/sdd{3,4} 1072 mdadm -C /dev/md7 -n 2 -l 1 -a yes -b 128 /dev/md5 /dev/md6 1073 ls 1074 lsblk 1075 mke2fs -t ext4 /dev/md4 1076 mke2fs -t ext4 /dev/md7 1077 mount /dev/md7 /mnt 1078 cd /mnt 1079 ls 1080 df -lh 1081 madam -D /dev/md7
三.LVM(邏輯卷)管理器
1.概論
什么是LVM?
LVM是邏輯盤卷管理(LogicalVolumeManager 2)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制.LVM是建立在硬盤和 分區之上的一個邏輯層,用來提高磁盤分區管理的靈活性。系統管理員可以通過LVM輕松的管理磁盤分區,如:將若干個磁盤分區或 物理磁盤連接為一個整塊的卷組 (volumegroup),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolume s),并進一步在邏輯卷組上創建文件系統。管理員通過LVM可以方便的調整存儲卷組的大小,并且可以對磁盤存儲按照組的方式進 行命名、管理和分配,例如按照使用用途進行定義:“development”和“sales”,而不是使用物理磁盤名“sda”和“sdb”。相對于 普通的磁盤分區有很大的靈活性,使用普通的磁盤分區,當一個磁盤的分區空間不夠使用的時候,可能就會帶來很大的麻煩,而使 用LVM可以很靈活的調整分區的大小并且數據不受影響。 原理:把底層磁盤創建成PV,pv加入到VG group,在VG中拉出一塊空間,創建LV 作用:使用軟件的方式,組織一個或多個底層硬件的設備,成為一個抽象的邏輯設備 底層硬盤設備(分區,RAID),可以創建為PV(物理卷,可以存放元數據),pv可以把底層提供的存儲空間抽象為一個一個獨立的存儲單元,合 并在一個高級的單位,卷組VG,可以包含多個物理卷,VG的空間就是物理卷的空間,可以將一個或多個的物理設備(PV)組成一個邏輯設備(V G,類似擴展分區,不能被格式化直接使用).在VG上創建LV,每個LV都是獨立的文件系統,可以格式化和使用,可以使用卷組內的任意可用空 間大小,可以跨多個VG多個pv組成一個VG,VG在邏輯層次上把1個或多個PV組成的存儲空間,劃分為固定大小的塊(PE,物理盤區)pv加入到 VG后才有PE的存在,不同VG對PE的定義不同VG層次上,不管是來自哪的空間,都會被識別為一個一個的PE,VG創建LV的過程,就是指定特定 數量的PE來組成邏輯存儲空間的過程,邏輯卷lv的大小可以動態擴大或收縮,而不危害里面的數據.VG和LV都可以動態添加或縮小,保障存 儲空間的收縮性,但是在軟件層次上實現,一旦數據損壞,很難恢復
使用模塊:
dm模塊(device mapper) 設備映射組件,將一個或多個底層塊設備組織成一個邏輯設備的模塊;
優缺點:
優點: LVM的重點在與可以彈性的調整文件系統的容量,當實際場景中,我們如果使用普通的分區后,基本該分區的容量就已經固定,比如linux 的/home分區由于用戶存儲的數據太多,導致/home分區的容量不夠,我們需要把/home分區的數據拷貝到別的地方,掛載一塊大分區上去 ,才可以完成/home的擴容,步驟比較繁瑣。 由于LVM可以動態在線調整分區大小,我們直接通過LVM給/home分區擴容。如果有其它分區太大而浪費空間,我們還可以在線的縮小容量。 LVM還支持快照,在不中斷業務的情況下,對數據做完整備份。 缺點: LVM是基于操作系統之上,若由于程序問題導致數據丟失,或LVM的損壞,數據恢復比較麻煩。
注意事項:
1.PV在移除時,必須滿足: 其他PV具有承載LV大小的空間 pv上有數據時,必須把數據搬移到其他的PV上 2.lv的縮減相當危險,縮減不能在線進行,縮減lv要先卸載,先縮減邏輯邊界,也就是文件系統邊界,再縮減物理邊界,也就是lv)縮減 LV有丟失數據風險,需要謹慎
設備文件:
/dev/dm-# 有兩個符號鏈接: /dev/mapper/VG_name-LV_name (/dev/mapper/voL0-root) /dev/VG_NAME/LV_NAME(/dev/voL0/root)
基本術語
PV(物理卷,Physical Volume):指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但 和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。如果是磁盤分區創建PV,必須更改分區類型為LVM VG(卷組,Volume Group):由多個物理卷組成,類似于非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成??梢栽诰斫M上創 建一個或多個“LVM分區”(邏輯卷) LV(邏輯卷,Logical Volume):類似于非LVM系統中的磁盤分區,邏輯卷建立在卷組VG之上。在邏輯卷LV之上可以建立文件系統; 每個LV都是獨立的文件系統,可以格式化和使用,可以使用卷組內的任意可用空間大小,可以跨多個VG PE(物理塊,Physical Extent):每一個物理卷PV被劃分成為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被 LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。所以物理卷(PV)由大小等同的基本單元PE組成.PE被分配給邏輯卷使用后, 就會變成LE(邏輯盤區) LE(邏輯塊,Logical Extent):邏輯卷LV也被劃分為可被尋址的基本單位,稱為LE。在同一個卷組中,LE的大小和PE是相同的, 并且一一對應 PV、VG、LV三者之間是有一定邏輯關系的,LVM是將一些零碎的磁盤分區(PV)合并成一個較大的磁盤(VG),然后在根據需要對這個 較大的磁盤(VG)進行劃分成不同的小分區(LV),并且這些小分區(LV)是可以動態的擴展或縮小的。而PE是PV的基本組成單元,LE 是LV的基本組成單元。
以上為一個簡單模型:
PV:物理磁盤,LVM是建立在物理磁盤上面的,增加物理磁盤可以擴展上層分區的大小。
VG:卷組,可以包含一個或多個物理卷。
LV:邏輯卷,從VG上分出可以實際存儲數據的分區,建立文件系統
PE:VG上最小的塊大小單元。
2.管理LVM命令
三類命令
1、管理物理卷的命令,命令開頭是pv
pvs 顯示pv分區的簡要信息,包括硬盤分區名稱、PV名稱、空間問題及空閑量 pvcreate 把硬盤分區轉換成PV 創建物理卷 pvcreate [選項] [硬盤分區] 選項: -f:強制創建物理卷,不需要用戶確認; -u:指定設備的UUID; -y:所有的問題都回答“yes”; -Z:是否利用前4個扇區。 pvdisplay 顯示PV的詳細信息 pvscan 掃描系統中的pv pvremove 刪除pv pvmove [選項] [pv_name....] 選項: -f 強制刪除,不提示 -y 對提示的內容,自動輸入yes pvchange 改變pv的物理屬性 pvchange [選項] [pv_name] 選項: -u 為指定的PV_NAME隨便生成UUID pvck 檢查PV的元數據 pvresize 調整PV的容量大小 pvresize [選項] [pv_name] --setphysicalvolumesize <容量大小> 指定修改PV的空間大小 pvresize /dev/sda4 自動把/dev/sda4的空間大小調整為磁盤分區的最大值 pvresize --setphysicalvolumszise 50G /dev/sda4 把/dev/sda4的空間大小調整為50G pvmove 把源PV的上數據移動到目標pv上 vmove [選項] [源PV] [目標PV1.......] pvmove /dev/sda4 /dev/sda5 把/dev/sda4的數據移動到/dev/sda5
2、管理卷組的命令,命令開頭是vg
vgs 顯示vg分區的簡要信息,包括硬盤分區名稱、PV名稱、空間問題及空閑量 vgdisplay 顯示vg的詳細信息 vgcreate 創建VG vgcreate [選項] [vg_name] [pv_name.....] -l:卷組上允許創建的最大邏輯卷數,即PV數量; -p:卷組中允許添加的最大物理卷數; -s:卷組上的物理卷的PE大小,即PV數量。 vgextend 添加PV到VG中 vgextend [選項] [vg_name] [pv_name] -d 使用調試模式 -t 測試使用 -f 強制擴展 -v 顯示詳細信息 vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] #移除VG中的一個PV ,前提是移動數據 vgremove VG_NAME #刪除vg組,要先把mount取消掉 vgscan [PhysicalDevicePath] 掃描系統中的VG
3、管理邏輯卷的命令,命令開頭是lv
lvs 查看 lvdisplay 查看詳細信息 lvcreate 創建lv lvscan 掃描LV lvcreate [選項] [vc_name] -L -L #K|M|G 指定創建的邏輯卷的大小 -l 通過指定VC的PE數量,來確定VC的空間大小 -n 指定vc的名稱 lvremove 刪除lv,先要卸載mount lvremove [選項] [lv_name] 擴展邏輯卷: #注意:在 lvexten擴展完成后,直接操作mount,會發現擴展的空量沒有直接應用到文件系統中,需要執行一次 resize2fs # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME 不帶加號是擴展到# 帶加號是擴展# resize2fs /dev/VG_NAME/LV_NAME 重新加載文件系統(擴大邏輯邊界) 縮減邏輯卷: umount /dev/VG_NAME/LV_NAME #縮減必須先umount e2fsck -f /dev/VG_NAME/LV_NAME #文件系統強制檢測及修復 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] #指定文件系統縮減到大多的空間 lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME #指定LV的縮減到多大的空間 mount #掛載
3.實戰
一、創建1個10G的pv
1、準備三個磁盤sdb sdd
[root@Whatsername /]# pvcreate /dev/sd{b,d} Writing physical volume data to disk "/dev/sdb" Physical volume "/dev/sdb" successfully created Writing physical volume data to disk "/dev/sdd" Physical volume "/dev/sdd" successfully created
2、檢測所創建pv
pvs pvscan pvdisplay
二、創建VG
1、創建
格式:vgcreate vg命令 pv1 pv2 ..... [root@Whatsername /]# vgcreate zxhh_vg /dev/sd{b,d} Volume group "zxhh_vg" successfully created
2、檢測
vgs vgscan vgdisplay
3、刪除這個VG,重新創建,pe為8M
[root@Whatsername /]# vgremove zxhh_vg Volume group "zxhh_vg" successfully removed [root@Whatsername /]# vgcreate -s 8M zxhk_vg /dev/sd{b,d} Volume group "zxhk_vg" successfully created
4、移除pv sdb
[root@Whatsername /]# pvmove /dev/sdb No data to move for zxhk_vg [root@Whatsername /]# vgreduce zxhk_vg /dev/sdb Removed "/dev/sdb" from volume group "zxhk_vg" [root@Whatsername /]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_whatsername lvm2 a-- 19.51g 0 /dev/sdb lvm2 a-- 4.00g 4.00g /dev/sdd zxhk_vg lvm2 a-- 3.99g 3.99g [root@Whatsername /]# pvremove /dev/sdb Labels on physical volume "/dev/sdb" successfully wiped
5、新添加PV進來
[root@Whatsername /]# pvcreate /dev/sde Writing physical volume data to disk "/dev/sde" Physical volume "/dev/sde" successfully created [root@Whatsername /]# vgextend zxhk_vg /dev/sde Volume group "zxhk_vg" successfully extended [root@Whatsername /]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_whatsername lvm2 a-- 19.51g 0 /dev/sdd zxhk_vg lvm2 a-- 3.99g 3.99g /dev/sde zxhk_vg lvm2 a-- 2.99g 2.99g
三、創建lv
1、創建一個100M的邏輯卷
[root@Whatsername /]# lvcreate -L 100M -n zxhk_lv zxhk_vg 創建的邏輯卷對應的設備文件在/dev/zxhk_vg/zxhk_lv
2、安裝文件系統
[root@Whatsername /]# mke2fs -t ext4 /dev/zxhk_vg/zxhk_lv
3、掛載使用邏輯卷
[root@Whatsername /]# mount /dev/zxhk_vg/zxhk_lv /ma [root@Whatsername /]# df -lhP
4擴展邏輯卷:
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 8.47g swap centos -wi-ao---- 1.00g lvtest vgtest -wi-ao---- 3.91g [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 9.51g 40.00m vgtest 3 1 0 wz--n- 11.99g 8.08g [root@localhost ~]# lvextend -L +1G /dev/vgtest/lvtest #為lvtest的空間擴大1G Size of logical volume vgtest/lvtest changed from 3.91 GiB (1000 extents) to 4.91 GiB (1256 extents). Logical volume lvtest successfully resized. [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vgtest/lvtest LV Name lvtest VG Name vgtest LV UUID QRJ9jg-vxf6-cOHs-5zuJ-dBze-UryA-3sGork LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-05-19 22:46:43 +0800 LV Status available open 1 LV Size 4.91 GiB #擴展后的空間 Current LE 1256 #擴展后的LE,LE的值與PE相同 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost ~]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 3.8G 14M 3.6G 1% /lvtest #但能使用的空間還沒有擴展 [root@localhost ~]# resize2fs /dev/vgtest/lvtest #resize2fs命令被用來增大或者收縮未加載的“ext2/ext3”文件系統的大小 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/vgtest/lvtest is mounted on /lvtest; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/vgtest/lvtest is now 1286144 blocks long. [root@localhost ~]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 4.8G 14M 4.6G 1% /lvtest #已能使用擴展后的空間 在線擴容LVM命令比較簡單,但是需要理解的的是,實際工作中應該是把新的PV分區格式化為8e的分區,把PV添加到VG中,,在通過VG來 分配空間給我們的LV,由于我的VG空間充足,直接LV命令擴容。 在線lvetend擴容LV后,系統還無法識別LV的空間,需要 resize2fs重新讀取一下,是系統識別到正確的容量空間。
5.縮減邏輯卷:
[root@localhost /]# lvdisplay /dev/vgtest/lvtest --- Logical volume --- LV Path /dev/vgtest/lvtest LV Name lvtest VG Name vgtest LV UUID ze2YVv-0eXR-RBD2-byEK-eqtt-zuaD-m4LqJM LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-05-19 23:35:14 +0800 LV Status available # open 1 LV Size 5.00 GiB #縮小前的空間 Current LE 1280 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost /]# umount /lvtest/ #必須先卸載,否則會出問題。但擴大空間時不用先卸載 [root@localhost /]# resize2fs /dev/vgtest/lvtest 2G #把文件系統大小壓縮成2G resize2fs 1.42.9 (28-Dec-2013) Please run 'e2fsck -f /dev/vgtest/lvtest' first. #提示先進行文件檢測,如果沒有事先umount,檢測會出問題,提示超級塊有壞塊 [root@localhost /]# e2fsck -f /dev/vgtest/lvtest #檢測 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vgtest/lvtest: 11/327680 files (0.0% non-contiguous), 55935/1310720 blocks [root@localhost /]# resize2fs /dev/vgtest/lvtest 2G #把文件系統大小壓縮成2G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vgtest/lvtest to 524288 (4k) blocks. The filesystem on /dev/vgtest/lvtest is now 524288 blocks long. [root@localhost /]# lvreduce -L 2G /dev/vgtest/lvtest #把LV的空間縮小成2G WARNING: Reducing active logical volume to 2.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvtest? [y/n]: Y Size of logical volume vgtest/lvtest changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents). Logical volume lvtest successfully resized. [root@localhost /]# mount /dev/vgtest/lvtest /lvtest/ [root@localhost /]# df -h | grep "lvtest" /dev/mapper/vgtest-lvtest 1.9G 7.7M 1.8G 1% /lvtest 在實際中有可能出現原來的LV空間數據存放BLOCK比較分散,縮減需要把磁盤空間數據的集中在限定大小的區域,所以需要需要卸載,以 免在數據移動過程中,有其它的數據寫入縮減空間以為的block。 記得卸載后一定記需要強制檢測分區,使用 resize2fs調整分區,再使用lvreduce調整分區,不然會出現該LV卷出現損壞的故障報錯。
6.刪除LVM
1、取消掛載及刪除/etc/fstab中條目
umount /home #取消掛載 vim /etc/fstab #刪除該文件中/home掛載的對應條目
2、移除邏輯卷LV
lvchange -an /dev/vgname/lvname #關閉邏輯卷 lvremove /dev/vgname/lvname #移除邏輯卷
3、移除卷組VG
vgchange -an /dev/vgname #關閉卷組 vgremove /dev/vgname #移除卷組
4、移除物理卷PV
pvremove /dev/sda1 #移除物理卷
5、刪除磁盤分區
通過fdisk刪除磁盤分區,這個不做演示 partx -d --nr 1 /dev/sda #刪除之后,記得用該命令刷新內存條目
7.LVM的遷移
以下操作以遷移VG為主進行的操作,遷移LV同理
1、源主機上操作
①取消所要遷移的文件系統掛載
umount /home
②關閉LV和VG
lvchange -an /dev/vgname/lvname vgchange -an /dev/vgname
③導出VG
vgexport vgname
2、目標主機上操作
①導入VG
vgimport vgname
②激活VG,掛載文件系統
vgchange -ay vgname
③掛載遷移過來的文件系統
mkdir /home mount/dev/vgname/lvname /home df -h #查看掛載情況
4.快照:snapshot
介紹幾個概念,關于數據的備份
冷備份:卸載掉文件系統,不能讀不能寫 溫備份:不卸載文件系統,能讀取文件系統內容但是不能寫 熱備份:不卸載文件系統,既能讀取文件系統內容又能寫入
注意兩點:
1),快照其實也是一個邏輯卷
2),快照只能對邏輯卷LVM進行備份,并且只能對同一個卷組的邏輯卷進行備份
1.快照概論
對文件系統做快照,是把文件系統的某一刻的狀態,瞬間掃描,創建對文件系統的元數據的監控器(快照卷),快照卷是指向原卷的另一個路徑,存放著原卷某一時刻的元數據.針對某一時間,原卷的文件要變化時,先把要復制的文件備份在快照卷,再改變原卷文件;如果原卷一直沒有發生改變,在恢復快照時,快照卷仍指向源文件,訪問源文件.創建快照卷后,原卷在發生改變后,在進行差異(增量備份).快照卷的大小跟保留時間有關聯,應大于等于源邏輯卷的大小,方便存儲源邏輯卷的文件.
快照就是將當時系統的信息記錄下來,就好像照相一樣。將來若有任何數據的改動,則原始數據就會被移動到快照區。 做快照時,一定要確保數據沒有在被訪問 快照LV和被快照的LV要在同一個VG中。
2.管理快照
創建快照卷:(與現有卷在一個空間里)
lvcreate -L #[mMgGtT] -p r -s -n snapshot_name original_lv_name
說明:-s : 創建快照的參數;-L:設置快照空間大??;-P r快照為只讀模式-n創建快照的名稱
3.演練
創建快照卷: 1.lvcreate -s -L 2G -n mylv_snap -p r /dev/vg0/mylv 2.mount /dev/mylv_snap /mnt 刪除快照卷: 1.umount /mnt 2.lvremove /dev/vg0/mylv_snap
一.對lvm0102做快照,備份其數據
1.查看lv0102的空間大小,查看其中數據;
2.做快照后,刪除和修改源卷的數據;
3.查看快照卷中的數據是否完整。
[root@love721 root]cd /mnt/mylv0102 進入lv的掛載目錄 [root@love721 mylv0102]# ll –h # 查看到原卷上的數據有105M total 105M -rw-r--r-- 1 root root 124K Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4.0K Aug 1 16:10 grub drwx------ 6 root root 4.0K Aug 1 16:10 grub2 -rw-r--r-- 1 root root 55M Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 27M Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 9.8M Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16K Aug 1 13:03 lost+found -rw-r--r-- 1 root root 247K Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2.9M Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# df –h #硬盤的空間還有2.7G左右 Filesystem Size Used Avail Use% Mounted on tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg01-lv0102 2.9G 116M 2.7G 5% /mnt/mylv0102
創建快照卷 lv0102_snap 大小為500M (快照卷空間不要太小了,一邊原卷上的數據變動比較頻繁時,快照卷無法保存所有的原卷數據備份)
[root@love721 mylv0102]# lvcreate -s -L 500M -n lv0102_snap -p r /dev/mapper/vg01-lv0102 #創建一個500M的 lv0102的快照卷 lv0102_snap,權限為只讀的 Logical volume "lv0102_snap" created. [root@love721 mylv0102]# lvdisplay #顯示LV卷的信息,部分文字省了,可以看到剛剛創建的快照卷 ………………………………….. --- Logical volume --- LV Path /dev/vg01/lv0102_snap LV Name lv0102_snap VG Name vg01 LV UUID YAETxW-lPfi-af9a-RM41-t5Ok-5BBT-ourZfl LV Write Access read only LV Creation host, time love721.q.com, 2016-08-01 16:16:34 +0800 LV snapshot status active destination for lv0102 LV Status available # open 0 LV Size 2.93 GiB Current LE 750 COW-table size 500.00 MiB COW-table LE 125 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:4
掛載快照卷,修改lv0102中的數據,刪除部分數據,測試快照卷的完整性。
[root@love721 mylv0102]# mkdir /mnt/snap [root@love721 mylv0102]# mount /dev/vg01/lv0102_snap /mnt/snap #掛載快照卷 mount: /dev/mapper/vg01-lv0102_snap is write-protected, mounting read-only [root@love721 snap]# ll -h total 105M -rw-r--r-- 1 root root 124K Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4.0K Aug 1 16:10 grub drwx------ 6 root root 4.0K Aug 1 16:10 grub2 -rw-r--r-- 1 root root 55M Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 27M Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 9.8M Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16K Aug 1 13:03 lost+found -rw-r--r-- 1 root root 247K Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2.9M Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5.0M Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64
刪除原卷下一些數據,修改個別文件
[root@love721 mylv0102]# rm symvers-3.10.0-327.el7.x86_64.gz rm: remove regular file ‘symvers-3.10.0-327.el7.x86_64.gz’? y [root@love721 mylv0102]# rm vmlinuz-* rm: remove regular file ‘vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc’? y rm: remove regular file ‘vmlinuz-3.10.0-327.el7.x86_64’? y
刪除lv0102原卷上的三個文件
[root@love721 mylv0102]# ll total 96736 -rw-r--r-- 1 root root 126426 Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4096 Aug 1 16:10 grub drwx------ 6 root root 4096 Aug 1 16:10 grub2 -rw-r--r-- 1 root root 57644379 Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 28097829 Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 10190079 Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16384 Aug 1 13:03 lost+found -rw------- 1 root root 2963044 Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# echo "1234567890" >> issue #修改issue文件內容 [root@love721 mylv0102]# cat issue \S Kernel \r on an \m Mage Education Learning Services http://www.magedu.com TTY is \l HOSTNAME is \n DATE is \t 1234567890
查看快照上的文件內容:刪除的文件在,修改issue的文件內容是快照以前的
[root@love721 mylv0102]# ll /mnt/snap/ total 107056 -rw-r--r-- 1 root root 126426 Aug 1 16:10 config-3.10.0-327.el7.x86_64 drwxr-xr-x 2 root root 4096 Aug 1 16:10 grub drwx------ 6 root root 4096 Aug 1 16:10 grub2 -rw-r--r-- 1 root root 57644379 Aug 1 16:10 initramfs-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc.img -rw-r--r-- 1 root root 28097829 Aug 1 16:10 initramfs-3.10.0-327.el7.x86_64.img -rw-r--r-- 1 root root 10190079 Aug 1 16:10 initrd-plymouth.img -rw-r--r-- 1 root root 119 Aug 1 13:04 issue drwx------ 2 root root 16384 Aug 1 13:03 lost+found -rw-r--r-- 1 root root 252612 Aug 1 16:10 symvers-3.10.0-327.el7.x86_64.gz -rw------- 1 root root 2963044 Aug 1 16:10 System.map-3.10.0-327.el7.x86_64 -rwxr-xr-x 1 root root 5156528 Aug 1 16:10 vmlinuz-0-rescue-7d0dd8f054af463ca2d6ac1f4b210fdc -rwxr-xr-x 1 root root 5156528 Aug 1 16:10 vmlinuz-3.10.0-327.el7.x86_64 [root@love721 mylv0102]# cat /mnt/snap/issue \S Kernel \r on an \m Mage Education Learning Services http://www.magedu.com TTY is \l HOSTNAME is \n DATE is \t 以上快照就完成,我們把快照內的文件拷貝出來放在備份服務器上即可 實驗完畢,刪除測試的整個LV 1.卸載所有的掛載點上的LV卷; 2.刪除LV卷 lvremove /dev/vg01/lv0101 lvremove /dev/vg01/lv0102 3.刪除VG: Vgremove /dev/vg01 Vgremove /dev/vg02 4.刪除PE: peremove /dev/sdd1 peremove /dev/sdc1 peremove /dev/sdb1
實戰:
1.創建一個至少有兩個pv組成的大小為20G的名為tesvgt的卷組.要求PE大小為16MB.
2.新建用戶archlinux,要求其家目錄為/users/archlinux,爾后切換archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
3.擴展testlv至7G,要求archlinux用戶的文件不能丟失
4.收縮testlv至3G,要求archlinux用戶的文件不能丟失
5.對testlv創建快照,先嘗試基于快照備份數據,驗證快照的功能
原創文章,作者:wencx,如若轉載,請注明出處:http://www.www58058.com/42192