Linux初学者学习笔记

20170810 高级文件系统管理

2017-08-13  本文已影响5人  哈喽别样
  • 文件系统配额管理
  • RAID
  • LVM逻辑卷管理器

一、文件系统配额管理

// step1
vim /etc/fstab    
// step 2
mount -o remount /home
// step 3
setenforce 0
quotacheck -cug /home
// step 4
quotaon /home
quotaon -p /home
edquota hellopeiyang
// step 5
su - hellopeiyang
dd if=/dev/zero of=file001 bs=1M count=81
dd if=/dev/zero of=file001 bs=1M count=150

第1步,修改/etc/fstab文件挂载点为/home的条目的挂载选项,将"defaults"改为"usrquota,grpquota",表示挂载时开启对用户、用户组的磁盘配额选项

第2步,重新挂载后可以看到,挂载选项新增了usrquota和grpquota选项

第3步,首先用setenforce 0命令禁用会影响磁盘配额操作的SELinux,然后初始化数据库,成功后可以看到/home目录下新增加的两个数据文件

第4步,开启配额,按照要求配置hellopeiyang用户的配额,注意单位为KB。

第5步,切换至hellopeiyang用户,在用户家目录下测试配额是否测试成功。可以看到创建文件总容量超出80M时有报警信息,创建文件总容量超出100M时文件写入失败,最多只能达到配额设置的最大值。

二、RAID

(一)RAID基本概念

1. 定义:

RAID(Redundant Arrays of Independent Disks) 独立磁盘冗余阵列,多个磁盘合成一个阵列来提供更好的性能、冗余

2. 功能:

通过磁盘并行读写提高IO能力,通过磁盘冗余提高耐用性

3. 实现方式:
4. RAID级别:多块磁盘组织在一起的不同工作方式

主要应用的RAID级别:

(1)读、写性能提升;
(2)可用空间:N*min(S1,S2,...)
(3)无容错能力
(4)最少磁盘数:2

(1)读性能提升、写性能略有下降;
(2)可用空间:1*min(S1,S2,...)
(3)有冗余能力
(4)最少磁盘数:2

(1)读、写性能提升;
(2)可用空间:(N-1)*min(S1,S2,...)
(3)有容错能力:允许最多1块磁盘损坏,但由于校验盘故障率远高于其他磁盘,已被RAID5取代
(4)最少磁盘数:3

(1)读、写性能提升
(2)可用空间:(N-1)*min(S1,S2,...)
(3)有容错能力:允许最多1块磁盘损坏
(4)最少磁盘数:3

(1)读、写性能提升
(2)可用空间:(N-2)*min(S1,S2,...)
(3)有容错能力:允许最多2块磁盘损坏
(4)最少磁盘数:4

(1)读、写性能提升
(2)可用空间:N*min(S1,S2,...)/2
(3)有容错能力:每组镜像最多只能坏一块
(4)最少磁盘数:4

(1)读、写性能提升
(2)可用空间:N*min(S1,S2,...)/2
(3)有容错能力:容错能力不及RAID10
(4)最少磁盘数:4

(二)软件RAID

1、RAID设备命名规则:

/dev/md#,#指数字,如/dev/md0, /dev/md1, /dev/md2

2、软件RAID实现
-n #            //使用#个块设备来创建此RAID
-l #            //指明要创建的RAID的级别
-a {yes|no}     //自动创建目标RAID设备的设备文件
-c CHUNK_SIZE   //指明块大小
-x #            //指明空闲盘的个数
-f     //标记指定磁盘损坏
-a     //添加磁盘
-r     //移除磁盘
3、实验:软件RAID基本操作
fdisk /dev/sdb   fdisk /dev/sdc...    //分区时注意一定要改变system id为fd
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
// 含义:-C指创建,-a yes指自动创建RAID设备文件,-l 5指RAID级别为5,-n 3指活动设备数为3,
         -x 1指空闲设备数为1

(2)检查RAID设备情况,并将配置文件保存到/etc/mdadm.conf

mdadm -D /dev/md0
mdadm -D -s >> /etc/mdadm.conf

红框标注中分别表示了RAID级别,活动、空闲设备数量,chunk的默认大小,每个磁盘设备的具体状态

(3)将第五块硬盘的第一个分区加入到/dev/md0上

mdadm –G /dev/md0 –n4 -a /dev/sdf1     
//-G 指改变活动磁盘阵列的大小,-n4 指活动设备数为4,-a指添加磁盘

(4)模拟第一块硬盘出现故障,查看第四块硬盘的分区是否自动顶替故障设备

mdadm /dev/md0  -f /dev/sdb1
mdadm -D /dev/md0

红框中显示/dev/sdb1已经发生故障,而之前空闲的/dev/sde1自动顶替/dev/sdb1的位置

(5)移除故障设备

mdadm /dev/md0 -r /dev/sdb1
mdadm -D /dev/md0

红框显示故障设备/dev/sdb1已经被移除

(6)停止RAID设备

mdadm -S /dev/md0

三、LVM 逻辑卷管理器

(一)LVM逻辑卷管理器的基本概念

(二)LVM逻辑卷管理器实现

fdisk /dev/sdb   fdisk /dev/sdc               //分区时注意一定要改变system id为8e
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd         //创建物理卷
vgcreate vg0 /dev/sdb1 /dev/sdc1 /dev/sdd     //创建卷组vg0
lvcreate -L 2G -n lv0 vg0          //创建逻辑卷lv0
lvcreate -l 50%FREE -n lv1 vg0     //创建逻辑卷lv1
mkfs -t ext4 /dev/vg0/lv0          //建立逻辑卷lv0的文件系统
mkfs -t ext4 /dev/vg0/lv1          //建立逻辑卷lv1的文件系统
vgdisplay                          //查看当前卷组容量是否满足逻辑卷扩展要求
fdisk /dev/sde1                    //改变system id为8e
pvcreate /dev/sde1                 //将/dev/sde1创建为物理卷
vgextend vg0 /dev/sde1             //将/dev/sde1添加到卷组vg0中
lvextend -L +1G /dev/vg0/lv0       //将逻辑卷lv0大小添加1GB至3GB
resize2fs /dev/vg0/lv0 3G          //将逻辑卷lv0的文件系统扩展大小至3GB
lvextend -r -L 6G /dev/vg0/lv1     //将逻辑卷lv1和其文件系统一并扩展至6GB,
                                   -r选项指同步扩展文件系统大小
fsck -f /dev/vg0/lv1            //缩减逻辑卷前必须检查磁盘,-f指强制执行
resize2fs /dev/vg0/lv1 5G       //缩减逻辑卷文件系统大小
lvreduce -L 5G /dev/vg0/lv1     //缩减逻辑卷大小
vgdisplay                  //查看卷组空间情况
pvdisplay                  //查看逻辑卷空间情况
pvmove /dev/sdc1     
//虽然卷组空间满足删除/dev/sdc1的要求,但/dev/sdc1的PE已经占满,所以需要将数据移动至其他物理卷
vgreduce vg0 /dev/sdc1     //卷组中删除物理卷/dev/sdc1
pvremove /dev/sdc1         //将物理卷/dev/sdc1删除

红框中显示/dev/sdc1的PE已经全部占满,需要先做数据迁移,才能从卷组中删除

vgrename vg0 newvg0                 //卷组改名
lvrename /dev/newvg0/lv0 newlv0     //逻辑卷改名
lvrename /dev/newvg0/lv1 newlv1     //逻辑卷改名
vgchange -an newvg0                 //冻结卷组
vgexport newvg0                     //导出
------拆除硬盘,安装至新的服务器(虚拟机以虚拟磁盘文件的剪切粘贴实现)------
pvscan                              //扫描物理卷
vgimport newvg0                     //导入卷组
vgchange -ay newvg0                 //启用卷组

(三)LVM逻辑卷管理器快照

1.为现有逻辑卷创建快照

lvcreate -L 300M -s -n snap-lv0 -p r /dev/vg0/lv0

2.挂载快照

mkdir -p /mnt/snap
mount -o ro /dev/vg0/snap-lv0 /mnt/snap

3.恢复快照

umount /dev/vg0/snap-lv0
umount /dev/vg0/lv0
lvconvert --merge /dev/vg0/snap-lv0

第一个红框显示的是逻辑卷lv0内文件file原内容,之后对逻辑卷lv0进行了快照操作,然后对file文件进行了修改,第二个红框显示的是修改后的file文件内容,此时恢复快照,第三个红框显示file文件内容恢复至快照前的样子。

上一篇下一篇

猜你喜欢

热点阅读