第五周总结

软RAID
  mdadm:为软RAID提供管理界面
  为空余磁盘添加冗余
  结合内核中的md(multi devices)
  RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
如果硬盘只分出了一个分区,可以用
dd if=/dev/sdb of=/dev/sdc bs=1 count=66 skip=446 seek=446
dd if=/dev/sdb of=/dev/sdd bs=1 count=66 skip=446 seek=446
dd if=/dev/sdb of=/dev/sde bs=1 count=66 skip=446 seek=446
raid5的实现
实验:raid5
1 分区(fd),磁盘 大小一致
2 mdadm -C /dev/md0 -a yes -l5 -n 3 -x1 -c32 /dev/sd{b,c,d,e}1
3 mkfs.ext4 /dev/md0
4 vim /etc/fstab
5 mdadm -Ds /dev/md0 > /etc/mdadm.conf
6 mdadm -S /dev/md0 停止(umount)
7 mdadm -A /dev/md0 激活
8 mdadm /dev/md0 -f /dev/sde1 损坏
9 mdadm /dev/md0 -r /dev/sde1 删除
10 mdadm /dev/md0 -a /dev/sde1 加
dd if=/dev/zero of=/dev/sdb1 清空文件系统
[root@centos ~]#mdadm -C /dev/md0 -a yes(自动初始化) -l5(raid5) -c(chunk大小) 32 -n(几块硬盘) 3 -x(空闲硬盘) 1 /dev/sdb4 /dev/sdc2 /dev/sdd1 /dev/sde1
创建md0时不能超过现在机器的物理磁盘的容量
[root@centos ~]#mdadm -D /dev/md0   查看raid  等同于 mdadm –detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Apr 25 18:42:03 2018
     Raid Level : raid5
     Array Size : 4204864 (4.01 GiB 4.31 GB)
  Used Dev Size : 2102432 (2.01 GiB 2.15 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Apr 25 18:42:14 2018
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1
         Layout : left-symmetric
     Chunk Size : 32K
           Name : centos.localdomain:0  (local to host centos.localdomain)
           UUID : 334cca96:877322f5:7cd0110c:afdf35bf
         Events : 18
    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       4       8       49        2      active sync   /dev/sdd1
       3       8       65        –      spare   /dev/sde1
[root@centos ~]#blkid
/dev/sda1: UUID=”414ab9ee-af40-44f1-b300-d29fc674eb8e” TYPE=”ext4″
/dev/sda2: UUID=”408b65d7-7551-480b-8916-5eff4cca1b00″ TYPE=”ext4″
/dev/sda3: UUID=”37d5cf25-ead4-427b-9655-40fc1602b5df” TYPE=”ext4″
/dev/sda5: UUID=”9fc26932-7094-4948-b395-24ab05d8ea73″ TYPE=”swap”
/dev/sdb2: UUID=”e4c92849-b5b6-4736-a027-25c99f9a9da1″ TYPE=”ext4″
/dev/sdb1: UUID=”309c1b15-1d6d-475a-a077-0caf7634442a” TYPE=”ext4″
/dev/sdc1: LABEL=”swap_sdc1″ UUID=”ca1c9c9d-7ed6-45b3-89a4-e8ff36548d0b” TYPE=”swap”
/dev/sdb3: LABEL=”/data/sdb3″ UUID=”e7742e5e-f923-4c7e-b43e-ee0952a0045e” TYPE=”ext4″
/dev/sdb4: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”396e1715-7f32-a631-46ab-6819b9a95f42″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdc2: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”8534ca6d-ff60-618d-d973-13566069ebd4″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdd1: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”755ca4f0-1a5d-ca6a-086e-866fc3164673″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sde1: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”b84b7b36-3b55-6a14-ae42-3e6f1dbf3af5″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
[root@centos ~]#mkfs.ext4 /dev/md0 -L “raid5”   为raid5创建文件系统
mke2fs 1.41.12 (17-May-2010)
Filesystem label=raid5
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=8 blocks, Stripe width=16 blocks
262944 inodes, 1051216 blocks
52560 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1077936128
33 block groups
32768 blocks per group, 32768 fragments per group
7968 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 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@centos ~]#blkid /dev/md0
/dev/md0: LABEL=”raid5″ UUID=”d9b419d6-ae30-4c1a-b447-deeb1b5a0111″ TYPE=”ext4″
[root@centos ~]#mkdir /data/raid
[root@centos ~]#vim /etc/fstab
UUID=d9b419d6-ae30-4c1a-b447-deeb1b5a0111  /data/raid ext4 defaults 0 0
[root@centos ~]#mount -a
[root@centos ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 5721952  41982820  12% /
tmpfs             953128      76    953052   1% /dev/shm
/dev/sda1         999320   34944    911948   4% /boot
/dev/sda3       30106576   99988  28470588   1% /data
/dev/sr0         6049912 6049912         0 100% /media/CDROM
/dev/md0         4007728    8216   3789272   1% /data/raid
[root@centos ~]#mdadm -Ds /dev/md0   显示raid0的必要信息
ARRAY /dev/md0 metadata=1.2 spares=1 name=centos.localdomain:0 UUID=334cca96:877322f5:7cd0110c:afdf35bf
[root@centos ~]#mdadm -Ds /dev/md0 > /etc/mdadm.conf   将信息写入配置文件中,否则会在raid禁用启用时找不到文件
[root@centos ~]#ll /etc/mdadm.conf
-rw-r–r–. 1 root root 104 Apr 25 18:59 /etc/mdadm.conf
[root@centos ~]#dd if=/dev/zero of=/data/raid/f1 bs=1M count=1024 conv=fdatasync   测试一下写入速度
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 51.6999 s, 20.8 MB/s
停用raid
1.卸载挂载
[root@centos ~]#umount /data/raid
[root@centos ~]#mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@centos ~]#ll /dev/md0
ls: cannot access /dev/md0: No such file or directory
启用
[root@centos ~]#mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@centos ~]#ll /dev/md0
brw-rw—-. 1 root disk 9, 0 Apr 25 19:30 /dev/md0
模拟损坏硬盘
[root@centos ~]#mdadm -f /dev/md0 /dev/sdd1   损坏的是/dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0
[root@centos ~]#mdadm -D /dev/md0
 Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       3       8       65        2      spare rebuilding   /dev/sde1
       4       8       49        –      faulty   /dev/sdd1
移除损坏的硬盘
[root@centos ~]#mdadm -r /dev/md0 /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md0
[root@centos ~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Apr 25 18:42:03 2018
     Raid Level : raid5
     Array Size : 4204864 (4.01 GiB 4.31 GB)
  Used Dev Size : 2102432 (2.01 GiB 2.15 GB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent
    Update Time : Wed Apr 25 19:39:01 2018
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 32K
           Name : centos.localdomain:0  (local to host centos.localdomain)
           UUID : 334cca96:877322f5:7cd0110c:afdf35bf
         Events : 38
    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       3       8       65        2      active sync   /dev/sde1
[root@centos ~]#blkid
EL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdc2: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”8534ca6d-ff60-618d-d973-13566069ebd4″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdd1: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”755ca4f0-1a5d-ca6a-086e-866fc3164673″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sde1: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”b84b7b36-3b55-6a14-ae42-3e6f1dbf3af5″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/md0: LABEL=”raid5″ UUID=”d9b419d6-ae30-4c1a-b447-deeb1b5a0111″ TYPE=”ext4″
移除后再加回去,加回去后变成备用硬盘
[root@centos ~]#mdadm -a /dev/md0 /dev/sdd1
mdadm: added /dev/sdd1
[root@centos ~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Apr 25 18:42:03 2018
     Raid Level : raid5
     Array Size : 4204864 (4.01 GiB 4.31 GB)
  Used Dev Size : 2102432 (2.01 GiB 2.15 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Apr 25 19:41:42 2018
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1
         Layout : left-symmetric
     Chunk Size : 32K
           Name : centos.localdomain:0  (local to host centos.localdomain)
           UUID : 334cca96:877322f5:7cd0110c:afdf35bf
         Events : 39
    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       3       8       65        2      active sync   /dev/sde1
       4       8       49        –      spare   /dev/sdd1
关机移除备用硬盘和raid中任意一块硬盘,启动后还是可以使用但是速度变慢
[root@centos ~]#df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        48G  5.5G   41G  12% /
tmpfs           931M   76K  931M   1% /dev/shm
/dev/sda1       976M   35M  891M   4% /boot
/dev/sda3        29G   98M   28G   1% /data
/dev/md0        3.9G  9.9M  3.7G   1% /data/raid
/dev/sr0        5.8G  5.8G     0 100% /media/CDROM
[root@centos ~]#cat /data/raid/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@centos ~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Apr 25 18:42:03 2018
     Raid Level : raid5
     Array Size : 4204864 (4.01 GiB 4.31 GB)
  Used Dev Size : 2102432 (2.01 GiB 2.15 GB)
   Raid Devices : 3
  Total Devices : 2
    Persistence : Superblock is persistent
    Update Time : Wed Apr 25 20:27:58 2018
          State : clean, degraded    降级使用是特别危险的,需要及时更换硬盘
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 32K
           Name : centos.localdomain:0  (local to host centos.localdomain)
           UUID : 334cca96:877322f5:7cd0110c:afdf35bf
         Events : 41
    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       4       0        0        4      removed
更换硬盘
先分出一个分区(类型是fd)2G大小
[root@centos ~]#fdisk /dev/sdc
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
   e   extended
   p   primary partition (1-4)
3
Invalid partition number for type `3′
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (525-10443, default 525):
Using default value 525
Last cylinder, +cylinders or +size{K,M,G} (525-10443, default 10443): +2G
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd
Changed system type of partition 3 to fd (Linux raid autodetect)
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@centos ~]#mdadm -a /dev/md0 /dev/sdc3
mdadm: Cannot find /dev/sdc3: No such file or directory
[root@centos ~]#partx -a /dev/sdc
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
[root@centos ~]#mdadm -a /dev/md0 /dev/sdc3
mdadm: added /dev/sdc3
实现raid10
mdadm -C /dev/md0 -a yes -l1 -n2 /dev/sd{b,c}
mdadm -C /dev/md1 -a yes -l1 -n2 /dev/sd{d,e}
mdadm -C /dev/md2 -a yes -l0 -n2 /dev/md{0,1}
或者
mdadm -C /dev/md0 -a yes -l10 -n4 /dev/sd{b,c,d,e}
如果不够用了增加一个磁盘
[root@centos ~]#fdisk /dev/sdc
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
   e   extended
   p   primary partition (1-4)
p
Selected partition 4
First cylinder (787-10443, default 787):
Using default value 787
Last cylinder, +cylinders or +size{K,M,G} (787-10443, default 10443): +2G
Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): fd
Changed system type of partition 4 to fd (Linux raid autodetect)
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@centos ~]#mdadm /dev/md0 -G -n4 -a /dev/sdc4
mdadm: added /dev/sdc4
[root@centos ~]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Apr 25 18:42:03 2018
     Raid Level : raid5
     Array Size : 4204864 (4.01 GiB 4.31 GB)
  Used Dev Size : 2102432 (2.01 GiB 2.15 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Wed Apr 25 20:53:55 2018
          State : clean, reshaping
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 32K
 Reshape Status : 5% complete
  Delta Devices : 1, (3->4)
           Name : centos.localdomain:0  (local to host centos.localdomain)
           UUID : 334cca96:877322f5:7cd0110c:afdf35bf
         Events : 84
    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       1       8       34        1      active sync   /dev/sdc2
       3       8       35        2      active sync   /dev/sdc3
       4       8       36        3      active sync   /dev/sdc4
[root@centos ~]#df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        48G  5.5G   41G  12% /
tmpfs           931M   76K  931M   1% /dev/shm
/dev/sda1       976M   35M  891M   4% /boot
/dev/sda3        29G   98M   28G   1% /data
/dev/md0        3.9G  9.9M  3.7G   1% /data/raid    增加了一块硬盘却没有增大,是因为没有文件系统。
/dev/sr0        5.8G  5.8G     0 100% /media/CDROM
[root@centos ~]#resize2fs /dev/md0    同步文件系统,但是这个命令只适用于ext4
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/md0 is mounted on /data/raid; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/md0 to 1576824 (4k) blocks.
The filesystem on /dev/md0 is now 1576824 blocks long.
[root@centos ~]#df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        48G  5.5G   41G  12% /
tmpfs           931M   76K  931M   1% /dev/shm
/dev/sda1       976M   35M  891M   4% /boot
/dev/sda3        29G   98M   28G   1% /data
/dev/md0        5.8G  9.9M  5.5G   1% /data/raid
/dev/sr0        5.8G  5.8G     0 100% /media/CDROM
centos7也就是xfs同步命令是 xfs_growfs /data/raid  不能写设备,只能写挂载点。
[root@centos ~]#cat /proc/mdstat   查看raid信息  有备用硬盘会显示S
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc4[4] sdc3[3] sdb4[0] sdc2[1]
      6307296 blocks super 1.2 level 5, 32k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
删除raid
1.卸载挂载
删除 /etc/fstab中相应的行
[root@centos ~]#ll /dev/md0
brw-rw—-. 1 root disk 9, 0 Apr 25 21:02 /dev/md0
[root@centos ~]#rm -f /dec/mdamd.conf
[root@centos ~]#mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@centos ~]#ll /dev/md0     有点延迟,正常不显示
brw-rw—-. 1 root disk 9, 0 Apr 25 21:17 /dev/md0
[root@centos ~]#mdadm -D /dev/md0
/dev/md0:
        Version :
     Raid Level : raid0
  Total Devices : 0
          State : inactive
    Number   Major   Minor   RaidDevice
[root@centos ~]#ll /dev/md0
ls: cannot access /dev/md0: No such file or directory
[root@centos ~]#blkid    设备还在
/dev/sda1: UUID=”414ab9ee-af40-44f1-b300-d29fc674eb8e” TYPE=”ext4″
/dev/sda2: UUID=”408b65d7-7551-480b-8916-5eff4cca1b00″ TYPE=”ext4″
/dev/sda3: UUID=”37d5cf25-ead4-427b-9655-40fc1602b5df” TYPE=”ext4″
/dev/sda5: UUID=”9fc26932-7094-4948-b395-24ab05d8ea73″ TYPE=”swap”
/dev/sdb2: UUID=”e4c92849-b5b6-4736-a027-25c99f9a9da1″ TYPE=”ext4″
/dev/sdb1: UUID=”309c1b15-1d6d-475a-a077-0caf7634442a” TYPE=”ext4″
/dev/sdc1: LABEL=”swap_sdc1″ UUID=”ca1c9c9d-7ed6-45b3-89a4-e8ff36548d0b” TYPE=”swap”
/dev/sdb3: LABEL=”/data/sdb3″ UUID=”e7742e5e-f923-4c7e-b43e-ee0952a0045e” TYPE=”ext4″
/dev/sdb4: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”396e1715-7f32-a631-46ab-6819b9a95f42″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdc2: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”8534ca6d-ff60-618d-d973-13566069ebd4″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdc3: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”d538892d-8c71-c215-a6ec-3b48bfcb3800″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
/dev/sdc4: UUID=”334cca96-8773-22f5-7cd0-110cafdf35bf” UUID_SUB=”d1822b1e-7aea-8416-cd50-530db3b67727″ LABEL=”centos.localdomain:0″ TYPE=”linux_raid_member”
删除/dev/sdc{2,3,4}和/dev/sdb4
如果在创建相应的分区大小一样,还是会出现raid的信息
这步应在删除分区之前
#mdadm –zero-surpblock /dev/sdc234
也可以用这个命令
[root@centos ~]#dd if=/dev/zero of=/dec/sdc234
软件RAID的实现
   -C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数
   -D:显示raid的详细信息
mdadm -D /dev/md#
   管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
   观察md的状态:
cat /proc/mdstat
软RAID配置示例
  使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1
/dev/sde1
  用文件系统对每个RAID设备进行格式化
mke2fs -j /dev/md0
  测试RAID设备
  使用mdadm检查RAID设备的状况
mdadm –detail|D /dev/md0
  增加新的成员
mdadm –G /dev/md0 –n4 -a /dev/sdf1
软RAID测试和修复
  模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
  移除磁盘
mdadm /dev/md0 –r /dev/sda1
  从软件RAID磁盘修复磁盘故障
? 替换出故障的磁盘然后开机
? 在备用驱动器上重建分区
? mdadm /dev/md0 -a /dev/sda1
  mdadm、/proc/mdstat及系统日志信息
软RAID管理
  生成配置文件:mdadm –D –s >> /etc/mdadm.conf
  停止设备:mdadm –S /dev/md0
  激活设备:mdadm –A –s /dev/md0 激活
  强制启动:mdadm –R /dev/md0
  删除raid信息:mdadm –zero-superblock /dev/sdb1
逻辑卷管理器(LVM)
  允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
  允许在多个物理设备间重新组织文件系统
  将设备指定为物理卷
  用一个或者多个物理卷来创建一个卷组
  物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
  在物理卷上创建的逻辑卷
是由物理区域(PE)组成
  可以在逻辑卷上创建文件系统
先将划分好的分区或者硬盘变成物理卷,再将物理卷组合成卷组,再把卷组划分成逻辑卷,
逻辑卷的好处是可以增加或减少(尽量别用)其空间大小,在线扩展,不影响用户的使用
PE相当于划分逻辑卷组的最小单位,所以逻辑卷的大小都是PE的整数倍
创建两个物理卷
分区将分区类型改为8e
[root@centos ~]#pvcreate /dev/sd{b1,c1}
  Physical volume “/dev/sdb1” successfully created
  Physical volume “/dev/sdc1” successfully created
[root@centos ~]#pvs    查看一下
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1       lvm2 —- 1.01g 1.01g
  /dev/sdc1       lvm2 —- 2.01g 2.01g
[root@centos ~]#pvdisplay
  “/dev/sdb1” is a new physical volume of “1.01 GiB”
  — NEW Physical volume —
  PV Name               /dev/sdb1
  VG Name
  PV Size               1.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               kNF3li-xdQx-uWio-T8fq-V3es-U0Jh-vc8Gef
  “/dev/sdc1” is a new physical volume of “2.01 GiB”
  — NEW Physical volume —
  PV Name               /dev/sdc1
  VG Name
  PV Size               2.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               PEeTCR-zFF0-zK5q-2yrZ-hTH7-xwdt-918DBq
将连个物理卷加入卷组
[root@centos ~]#vgcreate -s 16M vg0 /dev/sd{b1,c1} -s指定PE大小
  Volume group “vg0” successfully created
[root@centos ~]#pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1  vg0  lvm2 a–u 1.00g 1.00g
  /dev/sdc1  vg0  lvm2 a–u 2.00g 2.00g
[root@centos ~]#pvdisplay
  — Physical volume —
  PV Name               /dev/sdb1
  VG Name               vg0
  PV Size               1.01 GiB / not usable 11.41 MiB   不够16M剩下的
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              64
  Free PE               64
  Allocated PE          0
  PV UUID               kNF3li-xdQx-uWio-T8fq-V3es-U0Jh-vc8Gef
  — Physical volume —
  PV Name               /dev/sdc1
  VG Name               vg0
  PV Size               2.01 GiB / not usable 7.16 MiB
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              128
  Free PE               128
  Allocated PE          0
  PV UUID               PEeTCR-zFF0-zK5q-2yrZ-hTH7-xwdt-918DBq
[root@centos ~]#vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg0    2   0   0 wz–n- 3.00g 3.00g
[root@centos ~]#vgdisplay
  — Volume group —
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  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               3.00 GiB
  PE Size               16.00 MiB
  Total PE              192
  Alloc PE / Size       0 / 0
  Free  PE / Size       192 / 3.00 GiB
  VG UUID               OJVY05-qjee-wGKK-cOAc-eY5m-aLPj-NvEgwA
创建逻辑卷
[root@centos ~]#lvcreate -n lv0 -l 100 vg0
  Logical volume “lv0” created.
[root@centos ~]#lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a—– 1.56g
[root@centos ~]#lvdisplay
  — Logical volume —
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                fdN6Zs-6MCJ-j9aD-g0R6-5LYj-df8F-IvW72J
  LV Write Access        read/write
  LV Creation host, time centos.localdomain, 2018-04-26 09:42:31 +0800
  LV Status              available
  # open                 0
  LV Size                1.56 GiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           253:0
[root@centos ~]#lvcreate -n lv1 -l 100%FREE vg0
  Logical volume “lv1” created.
[root@centos ~]#lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a—– 1.56g
  lv1  vg0  -wi-a—– 1.44g
[root@centos ~]#ll /dev/mapper/vg0-lv0    设备名
lrwxrwxrwx. 1 root root 7 Apr 26 09:42 /dev/mapper/vg0-lv0 -> ../dm-0
[root@centos ~]#ll /dev/vg0/lv1
lrwxrwxrwx. 1 root root 7 Apr 26 09:46 /dev/vg0/lv1 -> ../dm-1
创建文件系统
[root@centos ~]#mkfs.ext4 /dev/vg0/lv0
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
102544 inodes, 409600 blocks
20480 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=419430400
13 block groups
32768 blocks per group, 32768 fragments per group
7888 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
挂载
[root@centos ~]#vim /etc/fstab
UUID=18b81131-36ce-48ad-b819-e47d1088c5d3 /mnt/lv0 ext4 defaults 0 0
[root@centos ~]#mkdir /mnt/lv0
[root@centos ~]#mount -a
[root@centos ~]#df
Filesystem          1K-blocks    Used Available Use% Mounted on
/dev/sda2            50264772 5721644  41983128  12% /
tmpfs                  953128      76    953052   1% /dev/shm
/dev/sda1              999320   34944    911948   4% /boot
/dev/sda3            30106576   99988  28470588   1% /data
/dev/sr0              6049912 6049912         0 100% /media/CDROM
/dev/mapper/vg0-lv0   1579844    2400   1495524   1% /mnt/lv0
[root@centos ~]#pvcreate /dev/sdd1
  Physical volume “/dev/sdd1” successfully created
[root@centos ~]#vgextend vg0 /dev/sdd1
  Volume group “vg0” successfully extended
[root@centos ~]#vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  vg0    3   2   0 wz–n- 23.00g 20.00g
[root@centos ~]#lvextend -L +5G /dev/vg0/lv0
  Size of logical volume vg0/lv0 changed from 1.56 GiB (100 extents) to 6.56 GiB (420 extents).
  Logical volume lv0 successfully resized.
[root@centos ~]#lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-ao—- 6.56g
  lv1  vg0  -wi-a—– 1.44g
[root@centos ~]#df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  5.5G   41G  12% /
tmpfs                931M   76K  931M   1% /dev/shm
/dev/sda1            976M   35M  891M   4% /boot
/dev/sda3             29G   98M   28G   1% /data
/dev/sr0             5.8G  5.8G     0 100% /media/CDROM
/dev/mapper/vg0-lv0  1.6G  4.2M  1.5G   1% /mnt/lv0   没有创建文件系统所以大小没有增大
[root@centos ~]#resize2fs /dev/vg0/lv0     同步文件系统
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg0/lv0 is mounted on /mnt/lv0; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg0/lv0 to 1720320 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 1720320 blocks long.
[root@centos ~]#df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  5.5G   41G  12% /
tmpfs                931M   76K  931M   1% /dev/shm
/dev/sda1            976M   35M  891M   4% /boot
/dev/sda3             29G   98M   28G   1% /data
/dev/sr0             5.8G  5.8G     0 100% /media/CDROM
/dev/mapper/vg0-lv0  6.5G  5.4M  6.2G   1% /mnt/lv0
[root@centos ~]#lvextend -l +100%FREE /dev/vg0/lv0   加-r直接同步文件系统
  Size of logical volume vg0/lv0 changed from 6.56 GiB (420 extents) to 21.56 GiB (1380 extents).
  Logical volume lv0 successfully resized.
[root@centos ~]#resize2fs /dev/vg0/lv0
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg0/lv0 is mounted on /mnt/lv0; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg0/lv0 to 5652480 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 5652480 blocks long.
[root@centos ~]#df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  5.5G   41G  12% /
tmpfs                931M   76K  931M   1% /dev/shm
/dev/sda1            976M   35M  891M   4% /boot
/dev/sda3             29G   98M   28G   1% /data
/dev/sr0             5.8G  5.8G     0 100% /media/CDROM
/dev/mapper/vg0-lv0   22G  6.1M   21G   1% /mnt/lv0
缩减逻辑卷:xfs无法缩减,ext4可以压缩
1.备份
2.取消挂载
[root@centos ~]#umount /mnt/lv0
[root@centos ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 5721664  41983108  12% /
tmpfs             953128      76    953052   1% /dev/shm
/dev/sda1         999320   34944    911948   4% /boot
/dev/sda3       30106576   99988  28470588   1% /data
/dev/sr0         6049912 6049912         0 100% /media/CDROM
3.先检查文件完整性
[root@centos ~]#fsck -f /dev/vg0/lv0
fsck from util-linux-ng 2.17.2
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/mapper/vg0-lv0: 146/1364624 files (0.7% non-contiguous), 95415/5652480 blocks
4.缩减文件系统
[root@centos ~]#resize2fs /dev/vg0/lv0 10G
resize2fs 1.41.12 (17-May-2010)
Please run ‘e2fsck -f /dev/vg0/lv0’ first.
[root@centos ~]#resize2fs /dev/vg0/lv0 10G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg0/lv0 to 2621440 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 2621440 blocks long.
5.缩减逻辑卷
[root@centos ~]#lvreduce -L 10G /dev/vg0/lv0
  WARNING: Reducing active logical volume to 10.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
  Size of logical volume vg0/lv0 changed from 21.56 GiB (1380 extents) to 10.00 GiB (640 extents).
  Logical volume lv0 successfully resized.
[root@centos ~]#mount -a
[root@centos ~]#lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-ao—- 10.00g
  lv1  vg0  -wi-a—–  1.44g
[root@centos ~]#df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  5.5G   41G  12% /
tmpfs                931M   76K  931M   1% /dev/shm
/dev/sda1            976M   35M  891M   4% /boot
/dev/sda3             29G   98M   28G   1% /data
/dev/sr0             5.8G  5.8G     0 100% /media/CDROM
/dev/mapper/vg0-lv0  9.9G  5.4M  9.4G   1% /mnt/lv0
[root@centos ~]#vgdisplay
  — Volume group —
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               23.00 GiB
  PE Size               16.00 MiB
  Total PE              1472
  Alloc PE / Size       732 / 11.44 GiB
  Free  PE / Size       740 / 11.56 GiB
  VG UUID               OJVY05-qjee-wGKK-cOAc-eY5m-aLPj-NvEgwA
移除逻辑卷中的一个磁盘
1.找到一个足够大的磁盘存放要移除的磁盘的内容
[root@centos ~]#fdisk /dev/sdc   分出一个分区
[root@centos ~]#partx -a /dev/sdc    同步
BLKPG: Device or resource busy
error adding partition 1
[root@centos ~]#pvcreate /dev/sdc3
  Physical volume “/dev/sdc3” successfully created
[root@centos ~]#vgextend vg0 /dev/sdc3
  Volume group “vg0” successfully extended
[root@centos ~]#pvdisplay
  — Physical volume —
  PV Name               /dev/sdb1
  VG Name               vg0
  PV Size               1.01 GiB / not usable 11.41 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              64
  Free PE               0
  Allocated PE          64
  PV UUID               kNF3li-xdQx-uWio-T8fq-V3es-U0Jh-vc8Gef
  — Physical volume —
  PV Name               /dev/sdc1
  VG Name               vg0
  PV Size               2.01 GiB / not usable 7.16 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              128
  Free PE               0
  Allocated PE          128
  PV UUID               PEeTCR-zFF0-zK5q-2yrZ-hTH7-xwdt-918DBq
  — Physical volume —
  PV Name               /dev/sdd1
  VG Name               vg0
  PV Size               20.01 GiB / not usable 9.12 MiB
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              1280
  Free PE               1280
  Allocated PE          0
  PV UUID               35xtf7-vvtE-ZGWx-vy0U-An6D-jdlW-Z1PQX2
  — Physical volume —
  PV Name               /dev/sdc3
  VG Name               vg0
  PV Size               20.01 GiB / not usable 9.15 MiB
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              1280
  Free PE               740
  Allocated PE          540
  PV UUID               bH2kul-NShg-DgPC-mRDr-Obv9-ntTT-tD4FFS
[root@centos ~]#vgreduce vg0 /dev/sdd1    移除sdd1
  Removed “/dev/sdd1” from volume group “vg0”
[root@centos ~]#pvdisplay
 “/dev/sdd1” is a new physical volume of “20.01 GiB”
  — NEW Physical volume —
  PV Name               /dev/sdd1
  VG Name
  PV Size               20.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               35xtf7-vvtE-ZGWx-vy0U-An6D-jdlW-Z1PQX2
[root@centos ~]#pvremove /dev/sdd1    变成孤立的磁盘
  Labels on physical volume “/dev/sdd1” successfully wiped
转移逻辑卷到别的电脑
[root@centos ~]#pvmove /dev/sdb1
[root@centos ~]#vgreduce vg0 /dev/sdb1
  Removed “/dev/sdb1” from volume group “vg0”
搬家之前需要看看搬家到的电脑上是否也有相同的vg0 lv0,如果有需要改名字
[root@centos ~]#vgrename vg0 centos6vg0
  Volume group “vg0” successfully renamed to “centos6vg0”
[root@centos ~]#lvrename /dev/centos6vg0/lv0 /dev/centos6vg0/centos6lv0
  Renamed “lv0” to “centos6lv0” in volume group “centos6vg0”
[root@centos ~]#lvrename /dev/centos6vg0/lv1 /dev/centos6vg0/centos6lv1
  Renamed “lv1” to “centos6lv1” in volume group “centos6vg0”
[root@centos ~]#ll /dev/centos6vg0/centos6lv0    修改的是软连接
lrwxrwxrwx. 1 root root 7 Apr 26 11:10 /dev/centos6vg0/centos6lv0 -> ../dm-0
[root@centos ~]#umount /mnt/lv0   卸载挂载
[root@centos ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 5721736  41983036  12% /
tmpfs             953128      76    953052   1% /dev/shm
/dev/sda1         999320   34944    911948   4% /boot
/dev/sda3       30106576   99988  28470588   1% /data
/dev/sr0         6049912 6049912         0 100% /media/CDROM
[root@centos ~]#vgchange -an centos6vg0     禁用vg0
  0 logical volume(s) in volume group “centos6vg0” now active
[root@centos ~]#vgexport centos6vg0
  Volume group “centos6vg0” successfully exported
[root@centos ~]#vgdisplay
  — Volume group —
  VG Name               centos6vg0
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  20
  VG Access             read/write
  VG Status             exported/resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               22.00 GiB
  PE Size               16.00 MiB
  Total PE              1408
  Alloc PE / Size       732 / 11.44 GiB
  Free  PE / Size       676 / 10.56 GiB
  VG UUID               OJVY05-qjee-wGKK-cOAc-eY5m-aLPj-NvEgwA
拔出硬盘插入要搬家到的电脑
[root@CENTOS7 ~]#pvdisplay
  Physical volume “/dev/sdc1” of volume group “centos6vg0” is exported
  — Physical volume —
  PV Name               /dev/sdc1
  VG Name               centos6vg0 (exported)
  PV Size               <2.01 GiB / not usable <7.16 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              128
  Free PE               0
  Allocated PE          128
  PV UUID               PEeTCR-zFF0-zK5q-2yrZ-hTH7-xwdt-918DBq
  Physical volume “/dev/sdc3” of volume group “centos6vg0” is exported
  — Physical volume —
  PV Name               /dev/sdc3
  VG Name               centos6vg0 (exported)
  PV Size               <20.01 GiB / not usable 9.15 MiB
  Allocatable           yes
  PE Size               16.00 MiB
  Total PE              1280
  Free PE               676
  Allocated PE          604
  PV UUID               bH2kul-NShg-DgPC-mRDr-Obv9-ntTT-tD4FFS
[root@CENTOS7 ~]#vgimport centos6vg0    导入
  Volume group “centos6vg0” successfully imported
[root@CENTOS7 ~]#vgchange -ay centos6vg0    启用vg0
  2 logical volume(s) in volume group “centos6vg0” now active
[root@CENTOS7 ~]#vgdisplay
  — Volume group —
  VG Name               centos6vg0
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  21
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               22.00 GiB
  PE Size               16.00 MiB
  Total PE              1408
  Alloc PE / Size       732 / <11.44 GiB
  Free  PE / Size       676 / 10.56 GiB
  VG UUID               OJVY05-qjee-wGKK-cOAc-eY5m-aLPj-NvEgwA
[root@CENTOS7 ~]#mkdir /mnt/centos6lv0
[root@CENTOS7 ~]#mount /dev/centos6vg0/centos6lv0 /mnt/centos6lv0
[root@CENTOS7 ~]#cat /mnt/centos6lv0/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
LVM介绍
  LVM: Logical Volume Manager, Version: 2
  dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
  设备名:/dev/dm-#
  软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM更改文件系统的容量
  LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的
设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大
容量
pv管理工具
  显示pv信息
pvs:简要pv信息显示
pvdisplay
  创建pv
pvcreate /dev/DEVICE
vg管理工具
  显示卷组
vgs
vgdisplay
  创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath
[PhysicalDevicePath…]
  管理卷组
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
  删除卷组
先做pvmove,再做vgremove
lv管理工具
  显示逻辑卷
lvs
Lvdisplay
  创建逻辑卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
  删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
  重设文件系统大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
扩展和缩减逻辑卷
  扩展逻辑卷:
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize -r -l  +100%FREE  /dev/ VG_NAME/LV_NAME
  缩减逻辑卷:
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
mount
跨主机迁移卷组
  源计算机上
  1 在旧系统中,umount所有卷组上的逻辑卷
  2 vgchange –a n vg0
lvdisplay
  3 vgexport vg0
pvscan
vgdisplay
拆下旧硬盘
   在目标计算机上
  4 在新系统中安装旧硬盘,并vgimport vg0.
  5 vgchange –ay vg0
  6 mount所有卷组上的逻辑卷
创建逻辑卷示例
  创建物理卷
pvcreate /dev/sda3
  为卷组分配物理卷
vgcreate vg0 /dev/sda3
  从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data
  mount /dev/vg0/data /mnt/data
逻辑卷管理器快照
   快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
   对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择
   快照只有在它们和原来的逻辑卷不同时才会消耗空间
   在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变
才会使用这些空间
   当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
   快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
   建立快照的卷大小只需要原始逻辑卷的15%~20%就够了,也可以使用lvextend放大
快照
创建快照   快照必须和逻辑卷在同一个卷组中,快照使用的空间就是这个逻辑卷卷组的空间
[root@CENTOS7 ~]#lvcreate -n centos6lv0-snapshot -s -L 1G /dev/centos6vg0/centos6lv0
  Using default stripesize 64.00 KiB.
  Logical volume “centos6lv0-snapshot” created.
[root@CENTOS7 ~]#lvdisplay    快照逻辑卷
 — Logical volume —
  LV Path                /dev/centos6vg0/centos6lv0-snapshot
  LV Name                centos6lv0-snapshot
  VG Name                centos6vg0
  LV UUID                Yf0CA3-eYFL-6MIt-V7tx-iHcW-r74z-bRcI1Y
  LV Write Access        read/write
  LV Creation host, time CENTOS7.localdomain, 2018-04-26 13:23:39 +0800
  LV snapshot status     active destination for centos6lv0
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             640
  COW-table size         1.00 GiB
  COW-table LE           64
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     8192
  Block device           253:4
[root@CENTOS7 ~]#ls /mnt/centos6lv0/
f1  f2  f3
[root@CENTOS7 ~]#ls /mnt/snap/    虽然快照中有内容但是实际上是没有的
f1  f2  f3
[root@CENTOS7 ~]#vim /mnt/centos6lv0/f1
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
~
[root@CENTOS7 ~]#ll /mnt/centos6lv0/ /mnt/snap/
/mnt/centos6lv0/:
total 12
-rw-r–r–. 1 root root   41 Apr 26 13:31 f1
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f2
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f3
/mnt/snap/:
total 12
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f1
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f2
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f3
[root@CENTOS7 ~]#rm -f /mnt/centos6lv0/f2
[root@CENTOS7 ~]#ll /mnt/centos6lv0/ /mnt/snap/
/mnt/centos6lv0/:
total 8
-rw-r–r–. 1 root root   41 Apr 26 13:31 f1
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f3
/mnt/snap/:
total 12
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f1
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f2
-rw-r–r–. 1 root root 2430 Apr 26 13:18 f3
当把快照挂载后,快照中的内容也是可以删除的。因此我们在创建或者挂载的时候应该将快照定义成只读
[root@CENTOS7 ~]#lvcreate -n centos6lv0-snapshot -s -L 1G -p r /dev/centos6vg0/centos6lv0
[root@CENTOS7 ~]#mount -o ro /dev/centos6vg0/centos6lv0-snapshot /mnt/snap
用快照恢复逻辑卷
1.取消挂载
[root@CENTOS7 ~]#umount /mnt/centos6lv0/
[root@CENTOS7 ~]#umount /mnt/snap/
2.合并
[root@CENTOS7 ~]#lvconvert –merge /dev/centos6vg0//centos6lv0
  centos6vg0/centos6lv0 is not read-only – refusing to merge.
[root@CENTOS7 ~]#pvcreate /dev/sdb1
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.
[root@CENTOS7 ~]#vgcreate vg0 -s 8M /dev/sdb1
  Volume group “vg0” successfully created
[root@CENTOS7 ~]#lvcreate -n lv0 -l 200 vg0
  Logical volume “lv0” created.
[root@CENTOS7 ~]#mkfs.xfs /dev/vg0/lv0
[root@CENTOS7 ~]#mount /dev/vg0/lv0 /mnt/lv0
快照的uuid和逻辑卷的一样
/dev/mapper/centos6vg0-centos6lv0: UUID=”18b81131-36ce-48ad-b819-e47d1088c5d3″ TYPE=”ext4″
/dev/mapper/centos6vg0-centos6lv0–snapshot: UUID=”18b81131-36ce-48ad-b819-e47d1088c5d3″ TYPE=”ext4″
[root@CENTOS7 ~]#partprobe   同步
[root@CENTOS7 ~]#pvcreate /dev/sdb2
  Physical volume “/dev/sdb2” successfully created.
[root@CENTOS7 ~]#vgextend vg0 /dev/sdb2
  Volume group “vg0” successfully extended
[root@CENTOS7 ~]#lvcreate -n lv0-snapshot -s -L 1G -p r /dev/vg0/lv0
  Using default stripesize 64.00 KiB.
  Logical volume “lv0-snapshot” created.
在centos7上只读卷不能挂载
[root@CENTOS7 ~]#rm -f /mnt/lv0/f1
[root@CENTOS7 ~]#> /mnt/lv0/f2
[root@CENTOS7 ~]#umount /mnt/lv0/
[root@CENTOS7 ~]#lvconvert –merge /dev/vg0/lv0-snapshot
  Merging of volume vg0/lv0-snapshot started.
  lv0: Merged: 100.00%
[root@CENTOS7 ~]#mount /dev/vg0/lv0 /mnt/lv0/
[root@CENTOS7 ~]#ls /mnt/lv0/
f1  f2  f3
合并成功后快照自动删除
删除逻辑卷
root@CENTOS7 ~]#lvremove /dev/vg0/lv0
Do you really want to remove active logical volume vg0/lv0? [y/n]: y
  Logical volume “lv0” successfully removed
删除有快照的逻辑卷会先删除快照再删除逻辑卷
[root@CENTOS7 ~]#umount /mnt/mm
[root@CENTOS7 ~]#lvremove /dev/centos6vg0/centos6lv0
Do you really want to remove active origin logical volume centos6vg0/centos6lv0 with 1 snapshot(s)? [y/n]: y
  Logical volume “centos6lv0-snapshot” successfully removed
  Logical volume “centos6lv0” successfully removed
[root@CENTOS7 ~]#lvcreate -n lv0 -L 1G vg0
WARNING: xfs signature detected on /dev/vg0/lv0 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/vg0/lv0.
  Logical volume “lv0” created.
[root@CENTOS7 ~]#mkfs.xfs /dev/vg0/lv0
meta-data=/dev/vg0/lv0           isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@CENTOS7 ~]#mount /dev/vg0/lv0 /mnt/lv0
[root@CENTOS7 ~]#df
Filesystem          1K-blocks    Used Available Use% Mounted on
/dev/sda2            52403200 4926308  47476892  10% /
devtmpfs               535296       0    535296   0% /dev
tmpfs                  550036       0    550036   0% /dev/shm
tmpfs                  550036    7968    542068   2% /run
tmpfs                  550036       0    550036   0% /sys/fs/cgroup
/dev/sda3            31441920  161500  31280420   1% /data
/dev/sda1             1038336  161620    876716  16% /boot
tmpfs                  110008      20    109988   1% /run/user/0
/dev/sr0              8490330 8490330         0 100% /run/media/root/CentOS 7 x86_64
tmpfs                  110008       0    110008   0% /run/user/1000
/dev/mapper/vg0-lv0   1038336   32944   1005392   4% /mnt/lv0
[root@CENTOS7 ~]#cp /etc/passwd /mnt/lv0/f1
[root@CENTOS7 ~]#cp /etc/passwd /mnt/lv0/f2
[root@CENTOS7 ~]#cp /etc/passwd /mnt/lv0/f3
[root@CENTOS7 ~]#lvcreate -n lv0-snapshot -L 500M -s /dev/vg0/lv0
  Using default stripesize 64.00 KiB.
  Rounding up size to full physical extent 504.00 MiB
  Logical volume “lv0-snapshot” created.
[root@CENTOS7 ~]#mount -o nouuid /dev/vg0/lv0-snapshot /mnt/mm
[root@CENTOS7 ~]#df
Filesystem                    1K-blocks    Used Available Use% Mounted on
/dev/sda2                      52403200 4926088  47477112  10% /
devtmpfs                         535296       0    535296   0% /dev
tmpfs                            550036       0    550036   0% /dev/shm
tmpfs                            550036    7980    542056   2% /run
tmpfs                            550036       0    550036   0% /sys/fs/cgroup
/dev/sda3                      31441920  161500  31280420   1% /data
/dev/sda1                       1038336  161620    876716  16% /boot
tmpfs                            110008      20    109988   1% /run/user/0
/dev/sr0                        8490330 8490330         0 100% /run/media/root/CentOS 7 x86_64
tmpfs                            110008       0    110008   0% /run/user/1000
/dev/mapper/vg0-lv0             1038336   32956   1005380   4% /mnt/lv0
/dev/mapper/vg0-lv0–snapshot   1038336   32956   1005380   4% /mnt/mm
[root@CENTOS7 ~]#rm -f /mnt/lv0/f1
[root@CENTOS7 ~]#ll /mnt/lv0
total 8
-rw-r–r–. 1 root root 2430 Apr 26 14:39 f2
-rw-r–r–. 1 root root 2430 Apr 26 14:39 f3
[root@CENTOS7 ~]#ll /mnt/lv0
total 4
-rw-r–r–. 1 root root    0 Apr 26 14:47 f2
-rw-r–r–. 1 root root 2430 Apr 26 14:39 f3
[root@CENTOS7 ~]#
[root@CENTOS7 ~]#lvconvert –merge /dev/vg0/lv0-snapshot
  Merging of volume vg0/lv0-snapshot started.
  lv0: Merged: 100.00%
[root@CENTOS7 ~]#mount /dev/vg0/lv0 /mnt/lv0/
[root@CENTOS7 ~]#ls /mnt/lv0/
f1  f2  f3
逻辑卷管理器快照
  快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据
改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件
系统共享
  由于快照区与原本的LV共用很多PE的区块,因此快照与被快照的LV必须在同
一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量
使用LVM快照
  为现有逻辑卷创建快照
lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
  挂载快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap
  恢复快照
umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert –merge /dev/vg0/data-snapshot
  删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
网络管理
什么是计算机网络
一组网络设备,通过有形的或者无形的媒介,把他们连接起来,按照一定得通讯规则来通讯
资源共享的功能和优点
  数据和应用程序
  资源
  网络存储
  备份设备
常见的网络物理组件
网卡,交换机,路由器,网线,水晶头
网络应用程序
  Web 浏览器(Chrome、IE、Firefox等)
  即时消息(QQ、微信、钉钉等)
  电子邮件(Outlook、foxmail 等)
  协作(视频会议、VNC、Netmeeting、WebEx 等)
  web网络服务(apache,nginx,IIS)
  文件网络服务(ftp,nfs,samba)
  数据库服务( MySQL,MariaDB, MongoDB)
  中间件服务(Tomcat,JBoss)
  安全服务( Netfilter)
用户应用程序对网络的影响
   批处理应用程序
   FTP、TFTP、库存更新
   无需直接人工交互
   带宽很重要,但并非关键性因素
   交互式应用程序    淘宝购物
   库存查询、数据库更新
   人机交互
   因为用户需等待响应,所以响应
时间很重要,但并非关键性因素,
除非要等待很长时间
   实时应用程序  微信
   VoIP、视频
   人与人的交互
   端到端的延时至关重要
网络的特征
  速度   带宽
  成本
  安全性
  可用性     正常运行时间占总时长的百分比。集群(cluster)可以快速的替换坏掉的网络实现高可用性
  可扩展性   支持100用户,加一些插件或者扩展槽支持200人使用.所以现在好多的硬件软件都是模块化的.
  可靠性     网络不断线
  拓扑
带宽:通常所说的100M是100Mps 而资源是1k所以100M的带宽理论上是12.8M/s
物理拓扑分类
   物理拓扑描述了物理设备的布线方式
总线型:铜轴电缆
环状
星型
逻辑拓扑
  逻辑拓扑描述了信息在网络中流动的方式
总线拓扑
  所有设备均可接收信号
总线型:每次只能有一个信息发送,如果两个信息同时发送就会互相干扰碰撞造成损坏。如果中间发生断裂,会使网络瘫痪,信号会在断裂的地方反弹.
星型拓扑
  通过中心点传输
  单一故障点      如果中间交换机坏点网络瘫痪
简单地说:交换机用来共享一根网线,路由器用来共享一个IP。
也就是说,如果一根网线上想接几个电脑,就必须用,交换机;
如果你只有一个IP,想几个电脑上网,就要用路由器来解决。比如宽带路由器就可以让家里的几台电脑共享同一个账号上网;
在已经共享上网的情况下,某房间只有一根网线,有多台电脑要上网,用交换机。
扩展星型拓扑
  比星型拓扑的复原能力更强
环拓扑
  信号绕环传输     信号只能按一个方向传输  不会产生冲突
  单一故障点
双环拓扑
  信号沿相反方向传输    主环逆时针,辅环顺时针,主环失败辅环顶上
  比单环的复原能力更强
全网状拓扑
  容错能力强
  实施成本高
部分网状拓扑
  在容错能力与成本之间寻求平衡
了解主机到主机通信
  旧模型
  专有产品
  由一个厂商控制应用程序和嵌入的软件
  基于标准的模型
  多厂商软件
  分层方法
网络模型分层
  降低复杂性
  标准化接口
  简化模块化设计
  确保技术的互操作性
  加快发展速度
  简化教学
OSI 开放系统互联
ISO 国际标准化组织
IOS 炒作系统
ATM 异步传输模式
OSI 模型的七层结构
7.应用层:网络进程访问应用层,为应用程序进程(列如电子邮件文件传输和终端仿真)
提供网络服务,提供用户身份验证
6.表示层:数据表示,确保接受系统可以读出数据,格式化数据,建立数据
协商用于应用层的数据传输语法,提供加密
5.会话层:主机间通信,建立管理和终止在应用程序之间的会话,PDU是 message 即消息。
4.传输层:数据传输单位叫段segment 即数据段,传输问题,确保数据传输可靠性,
一但发现错误会让用户从新再传,建立维护和终止虚拟电路,通过错误检查和恢复,信息流控制来保证可靠性
3.网络层:单位叫做packet,其中有地址是逻辑地址就是IP地址。路由:到哪去选择一条最佳路径。
2.数据链路层:将2进制格式化,那些表示原地址,那些表示目标地址等。
访问介质定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持错误检查。
 将多个0101组合起来形成的单位交帧(frame)CRC校验位
在帧中有物理地:MAC地址
1.物理层:2进制传输,为启动维护以及关闭物理链路定义了电器规范·机械规范·过程规范和功能规范 以bit为单位
数据封装
从7层开始,逐步添加各层HDR=报头。在数据链路层鬼添加循环FCS教研位
物理层由物理设备完成如网卡,数据链路层也是网卡实现的,传输层和网络层与系统相关
上3层有应用实现,下4层由物理设备或者操作系统实现
PDU
  PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
  物理层的 PDU是数据位 bit
  数据链路层的 PDU是数据帧 frame
  网络层的PDU是数据包 packet
  传输层的 PDU是数据段 segment
  其他更高层次的PDU是消息 message
3种通讯模式
1.单播(unicasl)点对点但是其他人也能接受到数据,只是被电脑忽略。将网卡设置成混杂模式不管是不是你的目的地址都会接收,单播并不安全。
2.广播(broadcasl)对网络覆盖内的所有人
3.组播(multicast)对一个小组
局域网Local Area Network简称(LAN)
LAN  组成
  Computers
   PCs
   Servers
  Interconnections
   NICs 网卡
  Media 网线
  Network devices
   Hubs   集线器
   Switches  交换机
   Routers   路由器
  Protocols  通讯网络协议
   Ethernet
   IP
   ARP
   DHCP
网络线缆和接口
Twisted-Pair  双绞线
10(10Mbps)Base(基带传输,传输的是数字信号。宽带传输的是模拟信号)T(双绞线)
Unshielded (UTP)非屏蔽
Shielded (STP)屏蔽
Coaxial
10(10Mbps)Base2(200米), 10Base5(500米)
ThinNet
ThickNet
Fiber-Optic
线序
T568B  橙白,橙,绿白,蓝,蓝白,绿,棕白,棕。网速低于100M以内只用1236,4跟线,千兆的时候8跟都用上,如果不按线序来排,会使电磁干扰特别严重,导致丢包严重。
T568A  1,3, 2,6    互换
UTP直通线(Straight-Through)
Cable 10BASE-T/
100BASE-TX Straight-Through
1,2(TX)号线负责发送数据
3,6(RX)号线负责接收数据
如果是两台电脑同线序相连无法通讯
想要连通需要1.3 和 2,6相连
同设备交叉,不同设备直连
因为现在的电脑网卡有智能识别,所以大多数时候不需要交叉
百兆1.2传送数据
3. 6  接收数据
千兆8跟线都可发送接收数据
1000BASE-T GBIC
GBIC 是Giga Bitrate Interface Converter的缩写,是将千兆位电 的缩写,是将千兆位电
信号转换为光信号的接口器件。
Ethernet Evolution(以太网)
IEEE国际电子电器工程师协会
IEEE802.3 10M
IEEE802.3u  百兆
IEEE802.3z 千兆光纤
IEEE802.3ab普通网线千兆
IEEE802.5以太环网
IEEE802.3没有考虑协议复杂性
Novell网络  ipx 网络层  ip
以太网 数据联络层,没有标识出上层服务协议的复杂性
Ethernet Frame2结构
1.8字节的前导信息
2.6个字节的目标MAC物理地址
3.6个字节的源地址
4.上层协议的类型  2个字节
5.数据  46-1500个字节
6.教研位  4个字节
72-1526个字节
Ethernet Frame  和2不同的是4.长度
数据链路层
ether 00:0c:29:45:bf:14  物理地址  网卡出厂的时候指定一个世界唯一的地址
00:0c:29:    国际组织分配给厂家的地址
45:bf:14     厂家自己指定
MAC地址
b8 b7 b6 b5 b4 b3 b2(0代表国际指定1代表本地指定)b1(0代表单播1代表多播)
48个1就是广播

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97324

(0)
柳宝玉柳宝玉
上一篇 2018-05-01
下一篇 2018-05-02

相关推荐

  • puppet实现nginx反代tomcat+memcached

    puppet实现nginx反代tomcat+memcached

    2018-04-16
  • Nginx认证模块与状态监测模块使用示例

    Nginx认证模块与状态监测模块使用示例 一、环境准备 1. 软件版本 CentOS7.4 httpd-tools.x86_64        2.4.6-67.el7.centos.6 nginx.x86_64                  1:1.12.2-2.el7 2. 软件安装 nginx的安装需要epel源,没有配置epel可以直接yum安装…

    2018-06-29
  • 第四周作业

    第四周作业
    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2018-06-07
  • shell脚本进阶

    一、for循环 for 变量名 in 列表;do 循环体 done   列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq [start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用; $@, $* &nbsp…

    Linux笔记 2018-05-14