逻辑卷的创建、逻辑卷的缩减、逻辑卷的扩增等小练习

1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users日录。

(1).首先准备两个硬盘,分别为/dev/sdb,/dev/sdc ,大小分别为40G,30G

(2). 分区的总大小为20G

①将/dev/sdb分割,分出一个15G空间给/dev/sdb1,

[root@localhost ~]#fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 1
First sector (2048-83886079, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079): +15G
Partition 1 of type Linux and of size 15 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

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

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

 ②将/dev/sdc分割,分出一个5G给/dev/sdc1,

[root@localhost ~]#fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
Partition number (1-4, default 1): 
First sector (2048-62914559, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): +5G
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): T
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

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

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

 (3).将两个硬盘分区转换为物理卷:

[root@localhost ~]#pvcreate /dev/sdb1 /dev/sdc1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created. 

(4).查看是否两个磁盘变为物理卷:

 [root@localhost ~]#pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               riGs4v-wcJr-2qhC-1EpT-2X7c-YpUp-zRnF2n
   
  "/dev/sdc1" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name               
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size                0   
  Total PE               0
  Free PE                0
  Allocated PE        0
  PV UUID               mQGaNx-QxtF-nJaD-2YOo-qPsY-obTR-CD6E9o
   
  "/dev/sdb1" is a new physical volume of "15.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               15.00 GiB
  Allocatable           NO
  PE Size                  0   
  Total PE                 0
  Free PE                  0
  Allocated PE         0
  PV UUID               sHTOMn-0z50-Sh5X-uGaf-j446-6djV-UoSz7n

 

(5).创建一个要求PE大小为16MB,名为testvg的VG

[root@localhost ~]#vgcreate -s 16M testvg  /dev/sd{b1,c1}
  Volume group "testvg" successfully created

(6).查看卷组testvg的信息: vgdisplay  或者 vgs

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

 (7).在卷组中创建大小为5G的逻辑卷testlv;

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

 (8).查看逻辑卷信息:

[root@localhost /]#lvdisplay
  --- Logical volume ---
  LV Path                /dev/testvg/testlv
  LV Name                testlv
  VG Name                testvg

  LV UUID                EAqYc5-RvVG-Gg5w-Mr0K-xqaz-GzOW-ypqXmN
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2024-09-10 02:08:10 +0800
  LV Status               a vailable
  # open                   0
  LV Size                 5.00 GiB
  Current LE             320
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

(9).创建文件系统,并挂载至/users目录 

[root@localhost ~]#mkfs.ext4   /dev/testvg/testlv
[root@localhost ~]#mkdir -p /users

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

 2、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录。

(1).创建目录/users/archlinux,并创建用户archlinux,并为用户archlinux设置口令

[root@localhost ~]#useradd -d /users/archlinux  archlinux
[root@localhost ~]#getent passwd archlinux
archlinux:x:1032:1032::/users/archlinux:/bin/bash

[root@localhost ~]#passwd archlinux
Changing password for user archlinux.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

(2).登录用户archlinux,拷贝/etc/pam.d目录至自己的家目录 

 [root@localhost ~]#su - archlinux
Last login: Tue Sep 10 19:41:02 CST 2024 on pts/0
[archlinux@localhost ~]$pwd
/users/archlinux
[archlinux@localhost ~]$cp -a  /etc/pam.d  /users/archlinux

[archlinux@localhost ~]$ls  /users/archlinux/pam.d/
chfn    fingerprint-auth-ac  password-auth-ac  runuser    smtp.postfix   sudo-i          vlock
chsh              login       polkit-1          runuser-l          smtp.sendmail  su-l         vmtoolsd
config-util       other       postlogin     smartcard-auth     sshd   system-auth
crond            passwd   postlogin-ac    smartcard-auth-ac  su    system-auth-ac
fingerprint-auth  password-auth        remote            smtp               sudo           systemd-user

 3、扩展testlv至7G,要求archlinux用户的文件不能丢失。

 (1).首先,查看archlinux用户的文件的总数和总大小:

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

[root@localhost pam.d ]#du -sh /users/archlinux/pam.d/
108K    /users/archlinux/pam.d/

  (2).查看逻辑卷所用空间:

 [root@localhost ~]#df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  898M     0  898M   0% /dev
tmpfs                     tmpfs     910M     0  910M   0% /dev/shm
tmpfs                     tmpfs     910M  9.6M  901M   2% /run
tmpfs                     tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   xfs        17G  2.2G   15G  13% /
/dev/mapper/testvg-testlv ext4      4.8G   21M  4.6G   1% /users
/dev/sda1                 xfs      1014M  151M  864M  15% /boot
tmpfs                     tmpfs     182M     0  182M   0% /run/user/0
/dev/sr0                  iso9660   4.4G  4.4G     0 100% /mnt/cdrom

 (3).查看卷组的所剩下的空间:

(4).取消挂载,再扩展testlv至7G:

[root@localhost ~]#umount /users

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

[root@localhost ~]#lvdisplay
  --- Logical volume ---
  LV Path                /dev/testvg/testlv
  LV Name                testlv
  VG Name                testvg
  LV UUID                EAqYc5-RvVG-Gg5w-Mr0K-xqaz-GzOW-ypqXmN
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2024-09-10 02:08:10 +0800
  LV Status              available
  # open                 0
  LV Size                7.00 GiB
  Current LE             448
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

[root@localhost ~]#mount -a

[root@localhost ~]#du -sh /users/archlinux/pam.d/
108K    /users/archlinux/pam.d/

 看到文件总大小为108k,说明文件在逻辑卷扩增下是没有被破坏!!

 4.收缩testlv至3G,要求archlinux用户的文件不能丢失
(1).首先需要取消挂载,再检查一下逻辑卷的状况:

[root@localhost ~]#umount /users
[root@localhost ~]#e2fsck -f  /dev/testvg/testlv 
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/testvg/testlv: 49/327680 files (0.0% non-contiguous), 58494/1310720 blocks

(2).先把testvg卷组的大小收缩至3G,再收缩testlv至3G,在挂载分区

[root@localhost ~]#resize2fs   /dev/testvg/testlv  3G
resize2fs 1.42.9 (28-Dec-2013)
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 testvg/testlv successfully resized.

[root@localhost ~]#mount -a

 (3).lvdisplay 查看卷组属性,在查看挂载文件的大小:

 [root@localhost pam.d]#du -sh /users/archlinux/pam.d/
108K    /users/archlinux/pam.d/

[root@localhost pam.d]#ll | wc -l
33

通过实验可以得知,逻辑卷大小在缩减时,挂载分区中文件的容量大小是 受逻辑卷的分区大小影响的,为了保证挂载分区文件不受被破坏,我们需要通过数据备份起来,以防数据被逻辑卷扩增、缩减的情况下,损坏数据。

5、对testlv创建快照,并尝试基于快照备份数据,验证快照的功能。 

(1).查看testlv的使用状况: 

[root@localhost ~]#df -hT /dev/mapper/testvg-testlv 
Filesystem                Type  Size  Used Avail Use% Mounted on
/dev/mapper/testvg-testlv ext4  2.9G   16M  2.7G   1% /users

(2).在/users/archlinux下创建文件:

 [root@localhost ~]#dd if=/dev/urandom  of=/users/archlinux/random.py  bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 34.0844 s, 31.5 MB/s

 (3).创建逻辑卷快照,

[root@localhost ~]#  lvcreate -n testlv-snapshot -s -L 1.5G  /dev/testvg/testlv
  Logical volume "testlv-snapshot" created.

[root@localhost ~]#lvs
  LV              VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root            centos -wi-ao---- <17.00g                                                    
  swap            centos -wi-ao----   2.00g                                                    
  testlv          testvg owi-aos---   3.00g                                                    
  testlv-snapshot testvg swi-a-s---   1.50g      testlv 0.01 

(4).lvdisplay查看testlv-snapshot的属性: 

 (5).先创建/mnt/testlv-snapshot目录,然后挂载至/mnt/testlv-snapshot目录,然后用blkid查看挂载情况,

[root@localhost ~]#mount -o ro /dev/mapper/testvg-testlv--snapshot  /mnt/testlv-sanpshot/

[root@localhost ~]#blkid
/dev/mapper/centos-root: UUID="504ff06f-f38e-409a-bfab-3ff045c8cfee" TYPE="xfs" 
/dev/sda2: UUID="riGs4v-wcJr-2qhC-1EpT-2X7c-YpUp-zRnF2n" TYPE="LVM2_member" 
/dev/sdc1: UUID="mQGaNx-QxtF-nJaD-2YOo-qPsY-obTR-CD6E9o" TYPE="LVM2_member" 
/dev/sdb1: UUID="sHTOMn-0z50-Sh5X-uGaf-j446-6djV-UoSz7n" TYPE="LVM2_member" 
/dev/sda1: UUID="cdea4c80-2a37-45aa-a05b-6f700505db57" TYPE="xfs" 
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-swap: UUID="c3f42d31-88d2-447b-bde6-e6a79f3c0607" TYPE="swap" 
/dev/mapper/testvg-testlv: UUID="e5d0665c-f61e-4605-925c-5f871ffb0616" TYPE="ext4" 
/dev/mapper/testvg-testlv--snapshot: UUID="e5d0665c-f61e-4605-925c-5f871ffb0616" TYPE="ext4"

 (6).查看一下快照分区的备份文件,和用户archlinux家目录的文件:

[root@localhost archlinux]#ls  /mnt/testlv-sanpshot/archlinux/pam.d/   /mnt/testlv-sanpshot/archlinux/
/mnt/testlv-sanpshot/archlinux/:
pam.d  random.py

/mnt/testlv-sanpshot/archlinux/pam.d/:
chfn              fingerprint-auth-ac  password-auth-ac  runuser            smtp.postfix   sudo-i          vlock
chsh              login                polkit-1          runuser-l          smtp.sendmail  su-l            vmtoolsd
config-util       other                postlogin         smartcard-auth     sshd           system-auth
crond             passwd               postlogin-ac      smartcard-auth-ac  su             system-auth-ac
fingerprint-auth  password-auth        remote            smtp               sudo           systemd-user
[root@localhost archlinux]#ls /users/archlinux/pam.d  /users/archlinux/
/users/archlinux/:
pam.d  random.py

/users/archlinux/pam.d:
chfn              fingerprint-auth-ac  password-auth-ac  runuser            smtp.postfix   sudo-i          vlock
chsh              login                polkit-1          runuser-l          smtp.sendmail  su-l            vmtoolsd
config-util       other                postlogin         smartcard-auth     sshd           system-auth
crond             passwd               postlogin-ac      smartcard-auth-ac  su             system-auth-ac
fingerprint-auth  password-auth        remote            smtp               sudo           systemd-user

(7).尝试一下删除快照区下ramdom.py

[root@localhost archlinux]#rm -rf  /mnt/testlv-sanpshot/archlinux/random.py 
rm: cannot remove ‘/mnt/testlv-sanpshot/archlinux/random.py’: Read-only file system

(8).删除/users/archlinux/pam.d/,然后使用快照方式将其恢复。

[root@localhost archlinux]#  cd  /users/archlinux/

[root@localhost archlinux]#rm -rf pam.d
[root@localhost archlinux]#ls

random.py

[root@localhost ~]#umount  /users   /mnt/testlv-sanpshot 

[root@localhost ~]#lvconvert --merge  /dev/testvg/testlv-snapshot 
  Merging of volume testvg/testlv-snapshot started.
  testvg/testlv: Merged: 100.00%

[root@localhost ~]#ls  /users/archlinux/
pam.d  random.py

[root@localhost ~]#cd /mnt/testlv-sanpshot/
[root@localhost testlv-sanpshot]#ls
[root@localhost testlv-sanpshot]#

看到pam.d文件恢复,实验就成功实现了,看到快照分区的没有一点点东西,说明逻辑卷实现快照恢复数据后,快照分区的备份数据就被销毁了,不会保存。

 

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值