LVM work!!!

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


    (1)查看分区大小

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  7.2G  0 rom  /mnt/media
sda      8:0    0  120G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0 48.8G  0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  200M  0 part /testdir
sdc      8:32   0   20G  0 disk 
├─sdc1   8:33   0   10G  0 part 
└─sdc2   8:34   0   10G  0 part 
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0   10G  0 part 
└─sdb2   8:18   0   10G  0 part

    (2)创建pv、vg、lv、挂载

[root@localhost ~]# pvcreate /dev/sd{b,c}1     //创建pv
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created

[root@localhost ~]# vgcreate -s 16M testvg /dev/sd{b,c}1    //创建卷组
Volume group "testvg" successfully created

[root@localhost ~]# lvcreate -L 5G -n testlv testvg        //创建lv,并指定大小为5G
Logical volume "testlv" created.

[root@localhost ~]# mke2fs -t ext4 /dev/testvg/testlv    //格式化lv,(lv挂载之前必须要格式化才能使用)

[root@localhost ~]# mkdir /users        //创建挂载目录

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

    (3)查看pv、vg、lv、挂载信息

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize  PFree 
  /dev/sdb1  testvg lvm2 a--u 10.00g  5.00g
  /dev/sdc1  testvg lvm2 a--u 10.00g 10.00g
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  testvg   2   1   0 wz--n- 20.00g 15.00g
[root@localhost ~]# lvs
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-ao---- 5.00g       
                                             
[root@localhost ~]# mount 
/dev/mapper/testvg-testlv on /users type ext4 (rw)

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

    (1)创建用户,并指定家目录

[root@localhost ~]# useradd -d /users/archlinux archlinux
[root@localhost ~]# ls /users/
archlinux  lost+found

[root@localhost ~]# su - archlinux
[archlinux@localhost ~]$ cp -r /etc/pam.d/ .    //此时在家目录
[archlinux@localhost ~]$ ls    
pam.d                   //文件已经复制过来

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

    (1)查看vg,lv信息,并进行扩展,查看文件大小是否变化

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  testvg   2   1   0 wz--n- 20.00g 15.00g
  
[root@localhost ~]# lvs
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-ao---- 5.00g                    
                                
[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 testlv successfully resized.
[root@localhost ~]# resize2fs /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 ~]# df -TH
........
/dev/mapper/testvg-testlv
                     ext4     7.3G   12M  6.9G   1% /users
                     
[root@localhost ~]# su - archlinux       //切换用户
[archlinux@localhost ~]$ du -sh pam.d/    //计算archlinux用户当前的pam.d目录大小,为96k
96Kpam.d/
[archlinux@localhost ~]$ du -sh /etc/pam.d/      //计算/etc/pam.d目录大小,为96k,并无变化
96K/etc/pam.d/

4、收缩testlv至3G,要求archlinux用户的文件不能丢失

    收缩5步骤:

        (1)如已经挂载使用,则需要解挂载

        (2)强制检测文件系统是否有问题

        (3)缩小文件系统大小

        (4)所有lv大小

        (5)挂载使用

[root@localhost ~]# umount /users

[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: 45/458752 files (0.0% non-contiguous), 64476/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 ~]# mount /dev/testvg/testlv /users/

[root@localhost ~]# df -Th
Filesystem           Type     Size  Used Avail Use% Mounted on
/dev/sda2            ext4      48G  894M   45G   2% /
tmpfs                tmpfs    491M     0  491M   0% /dev/shm
/dev/sda1            ext4     190M   31M  150M  17% /boot
/dev/sda5            ext4     190M  1.6M  179M   1% /testdir
/dev/sr0             iso9660  7.3G  7.3G     0 100% /mnt/media
/dev/mapper/testvg-testlv
                     ext4     2.9G  7.7M  2.7G   1% /users

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

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  testvg   2   1   0 wz--n- 20.00g 17.00g
[root@localhost ~]# lvs
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-ao---- 3.00g      
                                              
[root@localhost ~]# lvcreate -L 1G -s -n testsnapshot /dev/testvg/testlv 
  Logical volume "testsnapshot" created.
[root@localhost ~]# lvs
  LV           VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv       testvg owi-aos--- 3.00g                                                    
  testsnapshot testvg swi-a-s--- 1.00g      testlv 0.00  
                                 
[root@localhost ~]# su - archlinux 
[archlinux@localhost ~]$ cd pam.d/
[archlinux@localhost pam.d]$ ls
chfn         fingerprint-auth     other             remote     smartcard-auth     sshd        sudo-i
chsh         fingerprint-auth-ac  passwd            run_init   smartcard-auth-ac  ssh-keycat  su-l
config-util  login                password-auth     runuser    smtp               su          system-auth
crond        newrole              password-auth-ac  runuser-l  smtp.postfix       sudo        system-auth-ac
[archlinux@localhost pam.d]$ du -sh
96K.
[archlinux@localhost pam.d]$ rm -rf r*
[archlinux@localhost pam.d]$ du -sh
80K.
[archlinux@localhost pam.d]$ exit
logout
[root@localhost ~]# lvs
  LV           VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv       testvg owi-aos--- 3.00g                                                    
  testsnapshot testvg swi-a-s--- 1.00g      testlv 0.01

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

(0)
LiiLii
上一篇 2016-09-01
下一篇 2016-09-01

相关推荐

  • 磁盘及文件系统管理

    Linux磁盘及文件系统: 磁盘:用于持久存放数据 常见的磁盘有:机械硬盘、固态硬盘 I/O Ports: I/O设备地址 常见的硬盘接口类型:      IDE(ata):并口,133MB/s     SCSI:并口,UltraSCSI320,320MB/s,UltraSCSI…

    Linux干货 2016-08-26
  • Linux启动过程及系统初始化

    一、前言     服务器在正常的运行过程中,很少有重启的机会。在正常的情况下,也很少有出现启动异常的情况,但是在遭到了人为或者误操作的情况后,可能会出现启动异常的情况。为了加深学习系统启动流程,能够更加深入理解Linux系统的启动流程。总结了这篇文字。 二、简述启动流程     …

    Linux干货 2016-11-23
  • N25第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -a usersh nologin=0 login=0 usersh=($(cut -d’:’ -f7 /etc/passwd)) ##数组赋值时需…

    Linux干货 2017-03-04
  • 文件查找命令(find、locate)

    在文件系统上查找符合条件的文件: 实现工具:locate, find locate: 依赖于事先构建好的索引库; 系统自动实现(周期性任务); 手动更新数据库(updatedb); 工作特性: 查找速度快; 模糊查找; 非实时查找; locate [OPTION]… PATTERN… -b:只匹配路径中的基名; -c:统计出共有多少个符合条件的文件;…

    Linux干货 2016-11-06
  • 聊聊CentOS6的启动过程

    前言:     作为一个合格的运维人员,系统的启动过程我们需要牢记在心,此文不深入探讨,只求大致理解CentOS6的启动过程。 一张图带你了解CentOS6的启动过程 注意:图片放大查看效果更佳 上图各阶段详解 POST:计算机开机时BIOS对其各硬件的简单测试,测试各硬件的完整性 BootSqunce:加电自检后根据…

    Linux干货 2016-03-14
  • mongodb数据库切分

    前言:  相信维护过有大数据的MySQL的运维人员一定对sharding这个非常了解,MySQL数据库切分自身没有工具需要借助第三方工具进行;MySQL切片是一件非常头疼而又难做的一件事,一旦切分错误,不仅不能优化数据库,反而会加剧数据库负载;mongodb相对于MySQL来说,数据库切分是mongodb与生俱来的功能,mongodb会自动切分数据…

    Linux干货 2015-09-05