美文网首页
linux练习

linux练习

作者: xm11211 | 来源:发表于2019-02-21 10:53 被阅读0次

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

    1.准备两个10G的分区
    [root@centos6 ~]lsblk
    ...
    sdb      8:16   0   60G  0 disk 
    ├─sdb1   8:17   0   10G  0 part 
    └─sdb2   8:18   0   10G  0 part
    ...
    
    2.创建pv
    [root@centos6 ~] pvcreate /dev/sdb1   
      Physical volume "/dev/sdb1" successfully created
    [root@centos6 ~] pvcreate /dev/sdb2  
      Physical volume "/dev/sdb2" successfully created
    
    3.创建vg
    [root@centos6 ~]vgcreate -s 16M testvg /dev/sdb{1,2}    
      Volume group "testvg" successfully created
    [root@centos6 ~] pvs
      PV         VG     Fmt  Attr PSize  PFree 
      /dev/sdb1  testvg lvm2 a--u 10.00g 10.00g
      /dev/sdb2  testvg lvm2 a--u 10.00g 10.00g
    [root@centos6 ~] vgs
      VG     #PV #LV #SN Attr   VSize  VFree 
      testvg   2   0   0 wz--n- 20.00g 20.00g
    
    
    4.创建lv和文件系统
    [root@centos6 ~]lvcreate -n testlv -L 5G testvg
      Logical volume "testlv" created.
    [root@centos6 ~]lvs
      LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      testlv testvg -wi-a----- 5.00g 
    [root@centos6 ~]mkfs.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 39 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    
    5.创建/users目录,修改/etc/fstab并挂载
    [root@centos6 ~]mkdir /users
    [root@centos6 ~]blkid 
    ...
    /dev/mapper/testvg-testlv: UUID="32bd3d97-003a-4d2a-8e8e-e7ebe4decfe0" TYPE="ext4"
    [root@centos6 ~]vim /etc/fstab
    在最后添加一行
    UUID="32bd3d97-003a-4d2a-8e8e-e7ebe4decfe0" /users ext4  defaults 0 0
    [root@centos6 ~]mount -a
    [root@centos6 ~]lsblk
    ...
    sdb                        8:16   0   60G  0 disk 
    ├─sdb1                     8:17   0   10G  0 part 
    │ └─testvg-testlv (dm-0) 253:0    0    5G  0 lvm  /users
    └─sdb2                     8:18   0   10G  0 part 
    ...
    

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

    1.创建用户和复制pam.d
    [root@centos6 ~]useradd -d /users/archlinux archlinux
    [root@centos6 ~]su - archlinux
    [archlinux@centos6 ~]pwd
    /users/archlinux
    [archlinux@centos6 ~]cp -a /etc/pam.d .
    
    2.比较大小查看是否完整完整复制
    [archlinux@centos6 ~]du -sh /users/archlinux/pam.d /etc/pam.d
    236K    /users/archlinux/pam.d
    236K    /etc/pam.d
    

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

    1.扩展
    [root@centos6 ~]lvresize -r -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@centos6 ~]lvs
      LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      testlv testvg -wi-ao---- 7.00g
    
    2.检查文件是否丢失
    [root@centos6 ~]su - archlinux
    [archlinux@centos6 ~]pwd
    /users/archlinux
    [archlinux@centos6 ~]du -sh /users/archlinux/pam.d /etc/pam.d
    236K    /users/archlinux/pam.d
    236K    /etc/pam.d
    

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

    1.收缩
    [root@centos6 ~]umount /dev/testvg/testlv
    [root@centos6 ~]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: 84/458752 files (0.0% non-contiguous), 64515/1835008 blocks
    [root@centos6 ~]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@centos6 ~]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@centos6 ~]mount -a
    [root@centos6 ~]lvs
      LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      testlv testvg -wi-ao---- 3.00g 
    
    2.检查文件是否丢失
    [root@centos6 ~]su - archlinux
    [archlinux@centos6 ~]pwd
    /users/archlinux
    [archlinux@centos6 ~]du -sh /users/archlinux/pam.d /etc/pam.d
    236K    /users/archlinux/pam.d
    236K    /etc/pam.d
    

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

    1.创建快照并挂载
    [root@centos6 ~]lvcreate -L 2G -s -n testlv-snapshot -p r /dev/testvg/testlv
      Logical volume "testlv-snapshot" created.
    [root@centos6 ~]mkdir /mnt/snap
    [root@centos6 ~]mount -o ro /dev/testvg/testlv-snapshot /mnt/snap
    [root@centos6 ~]lsblk
    ...
    sdb                                      8:16   0   60G  0 disk 
    ├─sdb1                                   8:17   0   10G  0 part 
    │ ├─testvg-testlv-real (dm-1)          253:1    0    3G  0 lvm  
    │ │ ├─testvg-testlv (dm-0)             253:0    0    3G  0 lvm  /users
    │ │ └─testvg-testlv--snapshot (dm-3)   253:3    0    3G  1 lvm  /mnt/snap
    │ └─testvg-testlv--snapshot-cow (dm-2) 253:2    0    2G  1 lvm  
    │   └─testvg-testlv--snapshot (dm-3)   253:3    0    3G  1 lvm  /mnt/snap
    └─sdb2                                   8:18   0   10G  0 part
    
    2.测试快照
    [root@centos6 ~]ll /users /mnt/snap
    /mnt/snap:
    total 20
    drwx------. 5 archlinux archlinux  4096 Feb 21 09:28 archlinux
    drwx------. 2 root      root      16384 Feb 21 09:03 lost+found
    
    /users:
    total 20
    drwx------. 5 archlinux archlinux  4096 Feb 21 09:28 archlinux
    drwx------. 2 root      root      16384 Feb 21 09:03 lost+found
    [root@centos6 ~]rm -rf /users/archlinux/
    [root@centos6 ~]ll /users  /mnt/snap
    /mnt/snap:
    total 20
    drwx------. 5 archlinux archlinux  4096 Feb 21 09:28 archlinux
    drwx------. 2 root      root      16384 Feb 21 09:03 lost+found
    
    /users:
    total 16
    drwx------. 2 root root 16384 Feb 21 09:03 lost+found
    [root@centos6 ~]umount /dev/testvg/testlv-snapshot
    [root@centos6 ~]umount /dev/testvg/testlv
    [root@centos6 ~]lvconvert --merge /dev/testvg/testlv-snapshot
      Merging of volume testlv-snapshot started.
      testlv: Merged: 100.0%
      testlv: Merged: 100.0%
      Merge of snapshot into logical volume testlv has finished.
      Logical volume "testlv-snapshot" successfully removed
    [root@centos6 ~]mount -a
    [root@centos6 ~]ls /users
    archlinux  lost+found
    

    6.写一个脚本,完成如下功能:

    (1) 列出当前系统识别到的所有磁盘设备
    (2) 如磁盘数量为1,则显示其空间使用信息 否则,则显示最后一个磁盘上的空间使用信息

    1.编写脚本
    [root@centos6 ~]vim listAllDisk.sh
    #!/bin/bash
    fdisk -l                                                                                                     
    reg='[sh]d[a-z]'
    diskNum=`fdisk -l /dev/${reg} | grep -o "Disk /dev/${reg}" | wc -l`
    [ $diskNum -eq 1 ] && fdisk -l [sh]da || fdisk -l `fdisk -l /dev/${reg} | grep -o "Disk /dev/${reg}" | tail -1 | cut -d' ' -f2`
    2.执行脚本
    [root@centos6 bin]listAllDisk.sh 
    
    Disk /dev/sda: 214.7 GB, 214748364800 bytes
    255 heads, 63 sectors/track, 26108 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: 0x000df04f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1         131     1048576   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2             131        6505    51200000   83  Linux
    /dev/sda3            6505       10330    30720000   83  Linux
    /dev/sda4           10330       26109   126745600    5  Extended
    /dev/sda5           10330       10591     2097152   82  Linux swap / Solaris
    
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 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: 0x54eb43f6
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1306    10490413+  83  Linux
    /dev/sdb2            1307        2612    10490445   83  Linux
    
    Disk /dev/mapper/testvg-testlv: 3221 MB, 3221225472 bytes
    255 heads, 63 sectors/track, 391 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: 0x00000000
    
    以下是最后一个磁盘上的空间使用信息
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 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: 0x54eb43f6
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1306    10490413+  83  Linux
    /dev/sdb2            1307        2612    10490445   83  Linux
    

    7.创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

    1.准备三个1G的分区
    [root@centos6 ~]lsblk
    ...
    sdb      8:16   0   60G  0 disk 
    ├─sdb1   8:17   0    1G  0 part 
    ├─sdb2   8:18   0    1G  0 part 
    └─sdb3   8:19   0    1G  0 part
    2.创建
    [root@centos6 ~]mdadm -C /dev/md0 -n 2 -l 1 -a yes -x 1 /dev/sdb{1,2,3}
    [root@centos6 ~]mkfs.ext4 /dev/md0
    [root@centos6 ~]mdadm -D -s >> /etc/mdadm.conf
    [root@centos6 ~]mkdir /backup
    [root@centos6 ~]blkid
    ...
    /dev/sdb1: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="6b7d5ac5-9c4b-23ae-d200-ba84e20c7258" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" 
    /dev/sdb2: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="99ee0abb-f130-66c2-8ca4-165c50b9ca33" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" 
    /dev/sdb3: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="11cc4774-0b52-ff29-f415-e3dd5d5f24aa" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" 
    /dev/md0: UUID="01fa1870-423d-4878-a7b6-d866c2f3b87f" TYPE="ext4"
    [root@centos6 ~]vim /etc/fstab
    在最后添加一行
    UUID=01fa1870-423d-4878-a7b6-d866c2f3b87f /backup ext4 defaults 0 0
    [root@centos6 ~]mount -a
    [root@centos6 ~]lsblk
    sdb       8:16   0   60G  0 disk  
    ├─sdb1    8:17   0    1G  0 part  
    │ └─md0   9:0    0    1G  0 raid1 /backup
    ├─sdb2    8:18   0    1G  0 part  
    │ └─md0   9:0    0    1G  0 raid1 /backup
    └─sdb3    8:19   0    1G  0 part  
      └─md0   9:0    0    1G  0 raid1 /backup
    

    相关文章

      网友评论

          本文标题:linux练习

          本文链接:https://www.haomeiwen.com/subject/apslyqtx.html