lvm逻辑卷 练习题

创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录;在/users下创建一个test.txt文件。扩展testlv至7G,要求archlinux用户的文件不能丢失;收缩testlv至3G,要求archlinux用户的文件不能丢失;对testlv创建快照,并尝试基于快照备份数据,验正快照的功能。

  任务1,创建逻辑卷testlv

  首先,先创建2个分区   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[root@localhost~]# fdisk /dev/sda
 
WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
         switch off the mode (command ‘c’) and change display units to
         sectors (command ‘u’).
          
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (7859-13081, default 7859): 
Using default value 7859
Last cylinder, +cylinders or +size{K,M,G} (7859-13081, default 13081): +10G
 
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (9165-13081, default 9165):    
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-13081, default 13081): +10G
 
Command (m for help): p
 
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002b73a
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859       13081    41952748+   5  Extended
/dev/sda5            7859        9164    10489414+  83  Linux
/dev/sda6            9165       10470    10490413+  83  Linux
 
Command (m for help): t   #修改分区ID
Partition number (1-6): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
 
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): 8e
Changed system type of partition 6 to 8e (Linux LVM)
 
Command (m for help): p
 
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002b73a
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859       13081    41952748+   5  Extended
/dev/sda5            7859        9164    10489414+  8e  Linux LVM
/dev/sda6            9165       10470    10490413+  8e  Linux LVM
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
[root@localhost ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
BLKPG: Device or resource busy
error adding partition 5
BLKPG: Device or resource busy
error adding partition 6
[root@localhost ~]# cat /proc/partitions #查看分区信息
major minor  #blocks  name
 
   8        0  125829120 sda
   8        1     204800 sda1
   8        2   62914560 sda2
   8        3          1 sda3
   8        5   10489414 sda5
   8        6   10490413 sda6
 253        0   20971520 dm-0
 253        1    2097152 dm-1
 253        2   10485760 dm-2
 253        3   20971520 dm-3

   创建pv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost ~]# pvcreate /dev/sda5
  Physical volume “/dev/sda5” successfully created
[root@localhost ~]# pvcreate /dev/sda6
  Physical volume “/dev/sda6” successfully created
[root@localhost ~]# pvdisplay  
  “/dev/sda5” is a new physical volume of “10.00 GiB”
  — NEW Physical volume —
  PV Name               /dev/sda5
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               aWkcdi-T8zI-ZQ7h-xcPE-KhDI-HAmz-TEaAph
    
  “/dev/sda6” is a new physical volume of “10.00 GiB”
  — NEW Physical volume —
  PV Name               /dev/sda6
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Ib9szy-eyhG-zWDZ-sm6t-MUXI-sCUu-S2XtuG

  创建vg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[root@localhost~]# vgcreate -v -s 16MB testvg /dev/sda5
    DEGRADED MODE. Incomplete RAID LVs will be processed.
    Wiping cache of LVM-capable devices
    Wiping cache of LVM-capable devices
    Adding physical volume ‘/dev/sda5’ to volume group ‘testvg’
    Archiving volume group “testvg” metadata (seqno 0).
    Creating volume group backup “/etc/lvm/backup/testvg” (seqno 1).
  Volume group “testvg” successfully created
[root@localhost~]# vgextend -v testvg /dev/sda6
    DEGRADED MODE. Incomplete RAID LVs will be processed.
    Checking for volume group “testvg”
    Archiving volume group “testvg” metadata (seqno 1).
    Wiping cache of LVM-capable devices
    Adding physical volume ‘/dev/sda6’ to volume group ‘testvg’
    Volume group “testvg” will be extended by 1 new physical volumes
    Creating volume group backup “/etc/lvm/backup/testvg” (seqno 2).
  Volume group “testvg” successfully extended
[root@localhost ~]# vgdisplay 
  — Volume group —
  VG Name               testvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               20.00 GiB
  PE Size               16.00 MiB   #PE 大小16MB
  Total PE              1280
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1280 / 20.00 GiB
  VG UUID               i06ZbB-QWLX-zWmW-x2hS-L8Uo-zAbN-g4MhEu

  创建逻辑卷testlv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# lvcreate -L 5G -n testlv /dev/testvg
  Logical volume “testlv” created
[root@localhost ~]# lvdisplay 
  — Logical volume —
  LV Path                /dev/testvg/testlv
  LV Name                testlv
  VG Name                testvg
  LV UUID                tNyjOF-7Sb4-RVbW-W7Yk-zi6N-jXYG-LK4sOI
  LV Write Access        read/write
  LV Creation host, time laopan, 2015-08-27 18:37:40 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 GiB  #逻辑卷5G
  Current LE             320
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           253:4

   在/dev/testvg/testlv创建ext4文件系统   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost ~]# mkfs -t ext4 /dev/testvg/testlv 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736
 
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

   创建挂载点 mkdir /users

   把/dev/testvg/testlv 挂载至/users,在其目录下创建一个test.txt文件

1
2
3
4
5
6
7
[root@localhost ~]# mount /dev/testvg/testlv /users
[root@localhost ~]# cd /users
[root@localhost users]# echo `date` > test.txt
[root@localhost users]# ls
lost+found  test.txt
[root@laopan users]# cat test.txt 
Thu Aug 27 18:45:46 CST 2015

   任务2,在线把testlv扩展至7G,保证test.txt是否丢失

   先对逻辑卷扩容

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost users]# lvextend -L 7G /dev/testvg/testlv 
  Size of logical volume testvg/testlv changed from 5.00 GiB (320 extents) to 7.00 GiB (448 extents). #已经扩展到7G了,但是文件系统识别的还是5G,所以需要对文件系统扩容
  Logical volume testlv successfully resized
[root@localhost users]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg0-root  20511356  293400  19169380   2% /
tmpfs                  1954364       0   1954364   0% /dev/shm
/dev/sda1               194241   33069    150932  18% /boot
/dev/mapper/vg0-usr   10190136 1953200   7712648  21% /usr
/dev/mapper/vg0-var   20511356  199612  19263168   2% /var
/dev/mapper/testvg-testlv
                       5029504   10236   4757124   1% /users

   再对testlv的文件系统扩容,命令resize2fs 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost users]# resize2fs -f /dev/testvg/testlv 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/testvg/testlv is mounted on /users; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/testvg/testlv to 1835008 (4k) blocks.
The filesystem on /dev/testvg/testlv is now 1835008 blocks long.
 
[root@localhost users]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  287M   19G   2% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             190M   33M  148M  18% /boot
/dev/mapper/vg0-usr   9.8G  1.9G  7.4G  21% /usr
/dev/mapper/vg0-var    20G  195M   19G   2% /var
/dev/mapper/testvg-testlv
                      6.8G   12M  6.5G   1% /users

   回头再确认一下/users下的test是否还在

1
2
[root@localhost users]# cat test.txt 
Thu Aug 27 18:45:46 CST 2015

   经验证test.txt没有损坏,任务完成

   任务3,下面进行逻辑卷缩减实验

    首先需要卸载/dev/testvg/testlv

1
2
[root@localhost users]# cd ..
[root@localhost /]# umount /dev/testvg/testlv

    进行文件检查

1
2
3
4
5
6
7
8
[root@localhost /]# e2fsck -f /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: 12/458752 files (0.0% non-contiguous), 64448/1835008 blocks

   检查OK,进入一步,文件系统缩减

1
2
3
4
[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.

    最后缩减逻辑卷testlv

1
2
3
4
5
6
[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 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

   把缩减后的逻辑卷testlv挂载至/users下面,检查

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost /]# mount /dev/testvg/testlv /users/
[root@localhost /]# df -h #容量检查
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G  287M   19G   2% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             190M   33M  148M  18% /boot
/dev/mapper/vg0-usr   9.8G  1.9G  7.4G  21% /usr
/dev/mapper/vg0-var    20G  195M   19G   2% /var
/dev/mapper/testvg-testlv
                      2.9G  7.6M  2.7G   1% /users
[root@localhost /]# cat /users/test.txt #文件检查
Thu Aug 27 18:45:46 CST 2015

   testlv变成2.9G在一定范围可接受。文件test.txt没有损坏。

   任务4,对testlv做快照

1
2
[root@localhost users]# lvcreate -s -L 1G -p r -n test_snap_shot /dev/testvg/testlv 
  Logical volume “test_snap_shot” created

   检查快照

1
2
3
4
[root@localhost users]# mount /dev/testvg/test_snap_shot /mnt
mount: block device /dev/mapper/testvg-test_snap_shot is write-protected, mounting read-only
[root@localhost users]# cat /mnt/test.txt 
Thu Aug 27 18:45:46 CST 2015

原创文章,作者:island,如若转载,请注明出处:http://www.178linux.com/71234

(0)
islandisland
上一篇 2017-03-16
下一篇 2017-03-16

相关推荐

  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • 8.8作业

    4、如何设置tab缩进为4个字符?    set tabstop=4     5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; cp /etc/rc.d/init.d/functi…

    Linux干货 2016-08-11
  • 马哥教育网络班21期第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^[[:space:]]\+/#& 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; %s/^[[:space:]]\+/ …

    Linux干货 2016-12-05
  • 有关磁盘管理与文件系统

    硬盘物理结构      扇区  磁头  磁道   柱面   磁道数      扇区*一个磁道上的扇区个数*磁头数=柱面      柱面*磁道数=硬盘大小      一个扇区512字节   &…

    2017-08-19
  • 基于ansible role实现LAMP平台批量部署

    前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role…

    Linux干货 2015-06-11