(1)初始化
分区挂载选项:usrquota、grpquota(用户挂载,组挂载)
初始化数据库:quotacheck -cug /home
(2)执行
(开启之后发现就无法删除了,被保护了)
直接编辑配额:edquota -u/g username(对用户、对组做配额限制)
分别对文件的大小和数量进行限制。软限制就是可以允许超过软限制会发出警告,而硬限制不允许超过。因此设置的时候,软应该小于硬。
在shell中直接编辑:
setquota -u usename 4096 5120 40 50 /foo
使用edquota -u liubei进去查看,发现就写好了
edquota -p user1 user2 将user1的配置复制给user2
(3)报告配额状态
查看用户:quota username
quota -vu/vg username/groupname 查看用户/查看组
repquota -avu 查看所有用户的quota
-avg 查看所有组的quota
配额概述:repquota /mountpoint
其它工具:warnquota -u 给所有超过限制的用户发邮件
-g 当组的限制超出时,给组管理员发邮件,管理员需在/etc/quotagrpadmins 中指定groupname: username
2.RAID
(1)概念
多个磁盘合成一个“阵列”来提供更好的性能、冗余.
提高IO能力:
磁盘并行读写
提高耐用性;
磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装OS前在BIOS里配置
软件RAID:通过OS实现
(2)RAID级别
RAID-0: 条带化 以chunk为单位轮流去写
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2
RAID-1:镜像
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N
RAID-4:
多块数据盘异或运算值,存于专用校验盘
RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+
RAID-10:结合RAID-1 RAID-0
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
RAID-01:结合RAID-0 RAID-1
3、软件RAID的实现:madadm
(1)概念
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
模式:
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>:任意块设备
(2)创建、查看
-C: 创建模式
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1/dev/sd{b,c,d,e}
mdadm -C /dev/md1 -a yes -l 0 -n 2 -c 1M/dev/sdf{1,2}
-C --create /dev/mdX 创建 名为mdX 的raid
-ayes 当没有所有的/dev/mdX 设备时,自动创建该设备
-l --level n 所要创建的raid等级可以直接创建10
-nn 该raid的数据盘有多少个成员
-xn 该raid的热备盘有多少个 (raid0 没有热备盘,不支持-x)
-c # 指定chunk大小,仅限raid0raid5
/dev/sdx.... 指定raid的成员盘。 可以指定多块盘,也可以指定一块盘上的多块分区。(当指定一块盘上的多块分区时应使用t转化分区格式为raid格式)
-D:显示raid的详细信息;
mdadm -D/dev/md#
也可以查看/proc/mdstat文件,查看raid创建进度
(3)删除,增加,装配
删除:
umount 先卸载
mdadm -D /dev/md2 先查一下,该raid由哪有成员组成。(我们只需要把成员都删掉就行了,不需要把整个raid删掉)
mdadm -S /dev/md2 停止设备
mdadm --zero-superblock /dev/sdf4 删除sdf4的raid信息
mdadm --zero-superblock /dev/sdf3 删除sdf3的raid信息
清空/etc/mdadm.conf当中该raid的信息
mdadm /dev/md0 -f /dev/sdd 模拟将/dev/md0 raid中的sdd坏掉
mdadm /dev/md0 -r /dev/sdd 将/dev/md0 raid中的sdd 拔掉
增加:
mdadm /dev/md0 -a /dev/sdd 向/dev/md0 增加设备sdd 。如数据盘不够,则加为数据盘,如够,加为热备盘
mdadm -G /dev/md0 -n 6 -a /dev/sdh 将/dev/md0的数据盘设置为6个,并将/dev/sdh加入为数据盘。
装配(卸载之后重新组装):
手动指定:
mdadm -A /dev/md1 /dev/sdb /dev/sdc 装配当没有将md1信息保存至mdadm.conf时,只能手动指定raid成员sdb sdc
将信息导入文件即可自动指定:
mdadm -D -s > /etc/mdadm.conf 将所有的raid成员信息保存至mdadm.conf文件
mdadm -D -s /dev/md0 >> /etc/mdadm.conf 仅将md0的信处追加保存至mdadm.conf文件
mdadm -A /dev/md1 从/etc/mdadm.conf中读取成员信息,并仅激活md1
mdadm -A -s 从/etc/mdadm.conf中读取成员信息,并激活所有的raid
4、逻辑卷管理器(LVM)
(1)概念
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
允许在多个物理设备间重新组织文件系统
将设备指定为物理卷PV(Physical Volumes)
用一个或者多个物理卷来创建一个卷组VG(Volume Group)
物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
在物理卷上创建的逻辑卷是由物理区域(PE)组成
可以在逻辑卷上创建文件系统,可以在线扩展
(2)介绍
LVM: Logical Volume Manager, Version: 2
dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
(很灵活,可以来自多个设备不同的块,也可以来自同一设备的跨越的块)
/dev/dm-1 (1000) :0-900 /dev/sda1 (200-1100)
9011000 /dev/sda2 (301-400)
或
/dev/dm-1 (1000) :0-900 /dev/sda1 (200-1100)
9011000 /dev/sda1 (1300-1400)
设备名:/dev/dm-#
(3)创建物理卷
先建立分区时应转化成8e,LVM格式
pvcreate /dev/md0p1 将分区转化成物理卷(可以同时指定多个设备)
pvs 简单查看物理卷信息
pvs/dev/md0p1 只查看md0p1信息
pvdisplay 详细查看物理卷信息
pvdisplay/dev/md0p1 只查看md0p1信息
(4)创建卷组
vgcreate vgmage26 /dev/md0p1 /dev/md1 创建卷组(指定vgmage26为卷组名,卷组名可以任意起)
-s8M 指定PE大小,默认4M
查看卷组信息:
vgs 简单查看
vgs vgmage26
vgdisplay 详细查看
vgdislplay vgmage26
vgchange -s 16M 更改PE大小(只能改成比开始定义小的而且被2除没有余数的大小。比如开始定义为16M,则只能改成16M,8M,4M,2M)
vgreduce vgmage26 /dev/md1 删除卷组中的某个物理卷
vgextend vgmage26 /dev/md1 将物理卷再加回卷组
vgremove vgmage26 删除卷组
(5)创建逻辑卷
创建逻辑卷
lvcreate -l # -n NAME VolumeGroup -l指定PE数 -n指定逻辑卷名指定卷组名
lvcreate -L #[mMgGtT] -n NAME VolumeGroup -L指定大小(必须是8的倍数,否则会自动分配更大一些的8的倍数)
lvcreate -l 100%FREE -n yourlv testvg (把剩余空间全部给出去)
lvs 简单查看
Lvdisplay 详细查看
如图,因为刚才指定PE数为10,一个PE为8M,所以大小为80M
创建之后需要mkfs格式化
创建成功
删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
重设文件系统大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
·PS:当我们挂在逻辑卷时会发现挂载上的名字与挂载时不太一样
使用ll查询发现它们两个都是软连接。只是挂载的时候系统就使用另一个名字。
5、扩展逻辑卷
使用LV的好处就是可以在线扩展,下面我们来扩展一下:
1.先检查需要扩展的大小,VG是否有足够可用空间
如果不够则扩展VG
pvcreate/dev/md2 先创建一个新pv
vgextendvgmage26 /dev/md2 将其装入vg中
2.如空间足够则扩展逻辑卷大小
lvextend -L 1G/+1G /dev/vgmage26/lvmage26_01 (增加到1G/增加1G)
lvextend -l +100%FREE /dev/vgmage26/lvmage26_01 (将剩下的空间全部加入)
3.扩展文件系统大小(格式化)
resize2fs/dev/vgmage26/lvmage26_01 (指定文件系统名字)扩展文件系统
或
resize2fs/dev/vgmage26/lvmage26_01 1G 只扩展新增加的那1G的文件系统
如果是xfs文件系统用xfs_growfs:
xfs_growfs /dev/vg01/lv01
PS:(在lvextend 时加-r可以使2、3步一步到位一起做:
lvextend -L +1G -r /dev/vgmage26/lvmage26_01
先扩展逻辑卷大小后直接增加文件系统大小)
6、减小逻辑卷大小(仅支持Ext文件系统)
1.先卸载
umount /mnt/lvmage26_01
2. 扫描检测哪些块没有被用,才可以减那些部分
e2fsck -f/dev/vgmage26/lvmage26_01
3.先设置文件系统大小为300M(此处的数字不是减小多少而是写多少就设置成多少,因此这个数字只要比原来小就可以代表减小了)
resize2fs/dev/vgmage26/lvmage26_01 300M
4.设置逻辑卷大小为300M
lvreduce -L 300M/dev/vgmage26/lvmage26_01
5. 重新挂载
mount
7、将某块盘从LVM中分离出来
1.先确保数据不在这块PV上
用pvs查看
2.如果在这块PV上,则将数据转移到同卷组的其他PV上
pvmove /dev/pv1名 /dev/pv2名(可以不指定)
3.将pv从Vg中移出
vgreduce vg名 /dev/pv名
4.删除该盘的pv属性
pvremove /dev/pv名
8、将LVM迁移到其他主机
1.将数据移到目标磁盘对应的PV上。(该磁盘不要有其他与该PV无关的分区)
pvmove/dev/pv1名 /dev/pv2名
vgreduce vg02 /dev/pv(多余) 移动除要移动的PV以外的其他PV
2.确保要迁移的VG名与目的系统没有同名的VG
vgrename vgmage26 vg02 重命名vg
lvrename /dev/vg02/lvmage26_01 /dev/vg02/lv01 重命名lv(非必须)
3.卸载
umount /mnt/lvmage26_01/
4.禁用VG上的所有LV
vgchange -an vg02
设置为被保护状态
vgexport vg02
5.关机(如果支持热插排,则不用关机),拔硬盘,插到目标主机上。
6.先分别扫描一下,找出信息
pvscan、vgscan、lvscan
取消被保护状态
vgimport vg02
启用LV
vgchange -ay vg02
7.挂载
mount /dev/vg02/lv01 /mnt/lv02
9、LVM快照
(1)概念
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝。对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。
快照只有在它们和原来的逻辑卷不同时才会消耗空间。
在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间。
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
建立快照的卷大小只需要原始逻辑卷的15%~20%就够了,也可以使用lvextend放大快照。
(2)快照的使用
创建快照
lvcreate -L 10M -n lvmage-snap -s /dev/vgmage/lvmage
-L指定大小,也可以使用-l指定PE数量 -n生成快照名 -s源逻辑卷名(就是对谁进行快照)
lvcreate -L 10M -n lvmage-snap -s -p r/dev/vgmage/lvmage 创建只读快照
挂载快照
mkdir -p/mnt/snap
mount -o ro/dev/vg0/snap-data /mnt/snap
删除快照
lvremove /dev/vgmage/lvmage-snap
lvextend -L +300M/300M /dev/vgmage/lvmage-snap 快照扩展
使用快照恢复源逻辑卷
umount 源和快照 先卸载源和快照
lvconvert--merge 快照名 将快照恢复到源(该操作成功后会删除快照)
mount 源 重新将源挂载好
(3)对有快照的逻辑卷进行扩展
1.umount 源和快照
2.lvchange -an 源 将源及快照设置为inactive
3.lvextend -L -r 200M 源名字 (-r不一定能用)
4.e2fsck -f 扫描
5.resize2fs/xfs_growfs ...
(PS:建议,直接删除快照,可以在线扩展逻辑卷,最后重建快照)