LVM邏輯卷管理練習

     小編今天要講的內容是如何創建邏輯卷,然后擴展它、縮減它。LVM 的重點就在于可以彈性的調整文件系統的容量!所以,下面練習開始。

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

①準備兩個10G的分區

[root@localhost ~]# fdisk -l /dev/sdd |grep sdd*   
Disk /dev/sdd: 214.7 GB, 214748364800 bytes
/dev/sdd1               1        1306    10490413+  8e  Linux LVM
/dev/sdd2            1307        2612    10490445   8e  Linux LVM

(這里小編用fdisk新的分區之后,t類型轉換為8e為LINUX LVM)

*顯示分好的2個10G分區

[root@localhost ~]# lsblk |grep sdd[0-9]
├─sdd1   8:49   0    10G  0 part 
└─sdd2   8:50   0    10G  0 part 

②創建PV物理卷

[root@localhost ~]# pvcreate /dev/sdd{1..2}
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created

*查看PV物理卷

[root@localhost ~]# pvs
PV         VG       Fmt  Attr PSize   PFree 
/dev/sdd1           lvm2 ----  10.00g 10.00g
/dev/sdd2           lvm2 ----  10.00g 10.00g

(也可以用pvdisplay查看詳細信息)

③創建VG卷組

[root@localhost ~]# vgcreate -s 16M testvg /dev/sdd{1..2}
  Volume group "testvg" successfully created

(-s用來指定PE大小為16M)

*查看VG

[root@localhost ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree 
  VolGroup   1   3   0 wz--n- 199.51g     0 
  testvg     2   0   0 wz--n-  20.00g 20.00g

(總大小為20G,由兩個PV組成的VG卷組)

*查看分配的PE相關信息

[root@localhost ~]# vgdisplay testvg|egrep -io "(Pe|VG).*size.*"   
VG Size               20.00 GiB
PE Size               16.00 MiB
PE / Size       0 / 0   
PE / Size       1280 / 20.00 GiB

(VG大小為20G,PE大小為16M)

④創建5G的邏輯卷,名稱為testlv

[root@localhost ~]# lvcreate -L 5G -n testlv testvg
  Logical volume "testlv" created.

(-L指定大小,-n指定名稱)

*查看LV列表

[root@localhost ~]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                  
  testlv  testvg   -wi-a-----   5.00g 

⑤創建文件系統

*格式化為ext4文件系統類型

[root@localhost ~]# mkfs.ext4 /dev/testvg/testlv

*查看是否分配了UUID

[root@localhost ~]# blkid /dev/testvg/testlv 
/dev/testvg/testlv: UUID="d3c176ac-4c1b-4fe9-84af-e4818aacaad6" TYPE="ext4" 

⑥創建一個目錄并掛載

[root@localhost ~]# mkdir users
[root@localhost ~]# mount /dev/testvg/testlv /users/  

*查看分區情況及大小

[root@localhost ~]# df -Ph |grep "/users"
/dev/mapper/testvg-testlv     4.8G   10M  4.6G   1% /users

⑦設置自動掛載

*使用vim編輯/etc/fstab配置文件

[root@localhost ~]# vim /etc/fstab

LVM邏輯卷管理練習

*讀出lvtestUUIDtype信息寫入到文件

LVM邏輯卷管理練習

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

*創建用戶并指定其家目錄

[root@localhost ~]# useradd archlinux -d /users/archlinux

(-d指定用戶家目錄)

*切換用戶,并復制文件

[root@localhost ~]# su - archlinux
[archlinux@localhost ~]$ cp -av /etc/pam.d /users/archlinux/

*查看文件個數

[archlinux@localhost ~]$ ls /users/archlinux/pam.d/ | wc -l
58

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

*先檢查需要擴展的大小,VG是否有足夠可用空間

[root@localhost ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree 
  testvg     2   1   0 wz--n-  20.00g 15.00g

(剩余15G,有足夠可用空間)

*查看邏輯卷

[root@localhost ~]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move                                                 
  testlv  testvg   -wi-ao----   5.00g 

(顯示總大小為5G)

*擴展邏輯卷大小,由上面得知testLV大小為5G,擴展7G需要加上2G

[root@localhost ~]# lvextend -L +2G -r /dev/testvg/testlv            
  Size of logical volume testvg/testlv changed from 5.00 GiB (320 extents) to 7.00 GiB (448 extents).
  Logical volume testlv successfully resized.

*再次查看lestLV邏輯卷大小

[root@localhost ~]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                   
  testlv  testvg   -wi-ao----   7.00g

(已經變成了7G)

*查看物理大小

[root@localhost ~]# df -Ph |grep "testlv"
/dev/mapper/testvg-testlv     6.8G   12M  6.5G   1% /users

(發現由4.8G增加2G到6.8G,有誤差,但表示擴展成功)

*查看拷貝的pam.d目錄下的文件個數

[root@localhost ~]# ls /users/archlinux/pam.d | wc -l           
58

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

*必須先卸載,處于離線狀態

[root@localhost ~]# umount /dev/testvg/testlv

*檢查文件系統是否完好

[root@localhost ~]# e2fsck -f -y /dev/testvg/testlv 
e2fsck 1.41.12 (17-May-2010)
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/testvg/testlv: 78/458752 files (0.0% non-contiguous), 64509/1835008 blocks

*設置文件系統大小

[root@localhost ~]# resize2fs /dev/testvg/testlv 3G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/testvg/testlv to 786432 (4k) blocks.
The filesystem on /dev/testvg/testlv is now 786432 blocks long.

*縮減邏輯卷

[root@localhost ~]# lvreduce -L 3G /dev/testvg/testlv 
  WARNING: Reducing active logical volume to 3.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testvg/testlv? [y/n]: y
  Size of logical volume testvg/testlv changed from 7.00 GiB (448 extents) to 3.00 GiB (192 extents).
  Logical volume testlv successfully resized.

*再次查看邏輯卷大小

[root@localhost ~]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                    
  testlv  testvg   -wi-a-----   3.00g 

(發現已經縮減到3G)

*再次掛載

[root@localhost ~]# mount /dev/testvg/testlv /users

*查看物理卷

[root@localhost ~]# df -Ph |grep "/users"   
/dev/mapper/testvg-testlv     2.9G  7.8M  2.7G   1% /users

(也被縮減改為3G左右)

*查看pam.d目錄中文件個數

[root@localhost ~]# ls /users/archlinux/pam.d | wc -l  
58

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

*創建大小為1G只讀的快照

[root@localhost ~]# lvcreate -L 1G -s -n testsnap -p r /dev/testvg/testlv 
  Logical volume "testsnap" created.

(快照不能太小,上面的過程把邏輯卷縮減到了3G,所以創建1G的快照足夠了)

*查看lvs

[root@localhost ~]# lvs
  LV       VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                   
  testlv   testvg   owi-aos---   3.00g                                                    
  testsnap testvg   sri-a-s---   1.00g      testlv 0.00 

*創建快照目錄并掛載

[root@localhost ~]# mkdir /users/testsnap
[root@localhost ~]# mount /dev/testvg/testsnap /users/testsnap/
mount: block device /dev/mapper/testvg-testsnap is write-protected, mounting read-only

*刪除pam.d中以a開頭的文件

[root@localhost ~]# rm -f /users/archlinux/pam.d/a*
[root@localhost ~]# ls /users/archlinux/pam.d/ |wc -l
52

(發現文件個數只剩52個了)

*查看快照中pam.d中的文件個數

[root@localhost ~]# ls /users/testsnap/archlinux/pam.d |wc -l          
58

(還是58個)

*備份快照卷數據

[root@localhost ~]# tar -zcf /tmp/bakup.tar.gz /users/testsnap/archlinux/pam.d/* 
tar: Removing leading `/' from member names

(小編這里備份到了tmp下)

*取消掛載

[root@localhost /tmp]# umount /users/testsnap/
[root@localhost /tmp]# umount /users/

*還原文件

[root@localhost /users]# tar -zxf /tmp/bakup.tar.gz ./
[root@localhost /users]# ls
 archlinux

*查看原文件個數為58,數據恢復成功

[root@localhost /users]# ls archlinux/pam.d/ |wc -l
58

練習終于搞定了,小編在此過程中就路徑這個問題折騰了好久,所以大家在做練習的時候注意一下哦。



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

(1)
QianzhiheQianzhihe
上一篇 2017-08-26 16:04
下一篇 2017-08-26 16:30

相關推薦

  • 正則表達式與例題

    正則表達式與例題  一BRE 和ERE 由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能 程序支持:grep ;sed ;  awk ; vim ; less ; nginx ; varnish 元字符分類:字符匹配  匹配次數  位置錨定  分組 二.基…

    Linux干貨 2017-07-29
  • 19 vim編輯器

    19 vim編輯器 一、雜項知識整理 1、vi +6 FILE:打開并且光標在第六行。     vi +/pattern 打開文件后,光標處于第一個被pattern匹配到的行的行首     vim + FILE 直接打開file,光標在最后一行   &nbsp…

    Linux干貨 2016-08-10
  • LVS_DR配置

    DR : 192.168.29.150 VIP:192.168.29.100 RS1: 192.168.29.110 VIP:192.168.29.100 RS2:192.168.29.120 VIP:192.168.29.100 RS 配置 1 配置VIP [root@local ~]# ifconfig lo:0 192.168.29.100 netma…

    2017-06-30
  • Linux中文件管理類命令初探

    Linux中文件管理類命令初探 文件管理通常指的是對文件或者目錄進行的類似復制、移動、刪除操作。 1. 文件的復制 cp 在Linux中使用cp指令完成文件復制工作,即copy之意。實際操作中又可以分為以下兩種情況: 單源復制 單源復制即復制的源只有一個,這個源可以為文件或者目錄。命令語法:cp [OPTION]… [-T] SOURCE DEST在實際…

    Linux干貨 2016-11-06
  • Linux中正則表達式及find指令的使用

    1、顯示當前系統上root、Fedora或user1用戶的默認shell [root@centos6 ~]# grep -E "^\<(root|fedora|user1)\>" /etc/passwd root:x:0:0:root:/root:/bin/bash fedor…

    Linux干貨 2016-10-24
  • Linux 基礎知識(六.三)

    按找下列要求,寫一個腳本 (1)創建目錄/tmp/testdir-當前日期時間 (2)在此目錄創建100個空文件:file1-file100 (3)顯示/etc/passwd文件中位于偶數行的用戶的用戶名 (4)創建10個用戶:user10-user19,密碼同用戶名 (5)在/tmp創建10個空文件file10-file19 腳本如下: #!/bin/ba…

    Linux干貨 2016-11-14
欧美性久久久久