一. 磁盘配额(Quota)的应用于实战
1. Quota 的一般用途
针对 WWW server ,例如:每个人的网页空间的容量限制!
针对 mail server,例如:每个人的邮件空间限制。
针对 file server,例如:每个人最大的可用网络磁盘空间 (教学环境中最常见!)
限制某一群组所能使用的最大磁盘配额 (使用群组限制)
限制某一使用者的最大磁盘配额 (使用使用者限制)
以 Link 的方式,来使邮件可以作为限制的配额 (更改 /var/spool/mail 这个路径)
2. Quota 的使用限制
仅能针对整个 filesystem:
核心必须支持 quota
Quota 的记录档:
只对一般身份使用者有效:
3. Quota 的规范配置项目:
容量限制或文件数量限制 (block 或 inode):
柔性劝导与硬性规定 (soft/hard):
会倒数计时的宽限时间 (grace time):
实践Quota流程:
1. 创建 quota 记录档
Quota 是透过分析整个文件系统中,每个使用者(群组)拥有的文件总数与总容量, 再将这些数据记录在该文件系统的最顶层目录,然后在该记录档中再使用每个帐号(或群组)的限制值去规范磁盘使用量的。
quotacheck :扫瞄文件系统并创建 Quota 的记录档
[root@www ~]# quotacheck [-avugfM] [/mount_point]选项与参数:
-a :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后,
/mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!
-u :针对使用者扫瞄文件与目录的使用情况,会创建 aquota.user
-g :针对群组扫瞄文件与目录的使用情况,会创建 aquota.group
-v :显示扫瞄过程的资讯;
-f :强制扫瞄文件系统,并写入新的 quota 配置档 (危险)
-M :强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。
2. Quota 启动、 关闭与限制值配置
(1)quotaon :启动 quota 的服务
[root@www ~]# quotaon [-avug]
[root@www ~]# quotaon [-vug] [/mount_point]选项与参数:
-u :针对使用者启动 quota (aquota.user)
-g :针对群组启动 quota (aquota.group)
-v :显示启动过程的相关信息;
-a :根据 /etc/mtab 内的 filesystem 配置启动有关的 quota ,若不加 -a 的话,
则后面就需要加上特定的那个 filesystem 喔!
(2)quotaoff :关闭 quota 的服务
[root@www ~]# quotaoff [-a]
[root@www ~]# quotaoff [-ug] [/mount_point]选项与参数:
-a :全部的 filesystem 的 quota 都关闭 (根据 /etc/mtab)
-u :仅针对后面接的那个 /mount_point 关闭 user quota
-g :仅针对后面接的那个 /mount_point 关闭 group quota
(3)edquota :编辑帐号/群组的限值与宽限时间
edquota 是 edit quota 的缩写,所以就是用来编辑使用者或者是群组限额的命令罗。我们先来看看 edquota 的语法吧, 看完后再来实际操作一下。
[root@www ~]# edquota [-u username] [-g groupname]
[root@www ~]# edquota -t <==修改宽限时间
[root@www ~]# edquota -p 范本帐号 -u 新帐号选项与参数:
-u :后面接帐号名称。可以进入 quota 的编辑画面 (vi) 去配置 username 的限制值;
-g :后面接群组名称。可以进入 quota 的编辑画面 (vi) 去配置 groupname 的限制值;
-t :可以修改宽限时间。
-p :复制范本。那个 范本帐号 为已经存在并且已配置好 quota 的使用者,
意义为『将 范本帐号 这个人的 quota 限制值复制给 新帐号 』!
3. Quota 限制值的报表
(1) quota :单一用户的 quota 报表
[root@www ~]# quota [-uvs] [username]
[root@www ~]# quota [-gvs] [groupname]选项与参数:
-u :后面可以接 username ,表示显示出该使用者的 quota 限制值。若不接 username
,表示显示出运行者的 quota 限制值。
-g :后面可接 groupname ,表示显示出该群组的 quota 限制值。
-v :显示每个用户在 filesystem 的 quota 值;
-s :使用 1024 为倍数来指定单位,会显示如 M 之类的单位!
(2)repquota :针对文件系统的限额做报表
[root@www ~]# repquota -a [-vugs]选项与参数:
-a :直接到 /etc/mtab 搜寻具有 quota 标志的 filesystem ,并报告 quota 的结果;
-v :输出的数据将含有 filesystem 相关的细部资讯;
-u :显示出使用者的 quota 限值 (这是默认值);
-g :显示出个别群组的 quota 限值。
-s :使用 M, G 为单位显示结果
二.软件磁盘阵列(Software RAID)
1.什么是 RAID
磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列。 RAID 可以透过一个技术(软件或硬件),将多个较小的磁碟整合成为一个较大的磁碟装置; 而这个较大的磁碟功能可不止是储存而已,他还具有数据保护的功能
2. 等级:
RAID-0 (等量模式, stripe):效能最佳
RAID-1 (映射模式, mirror):完整备份
RAID 0+1,RAID 1+0
RAID-0 的效能佳但是数据不安全,RAID-1 的数据安全但是效能不佳,那么能不能将这两者整合起来配置 RAID 呢? 可以啊!那就是 RAID 0+1 或 RAID 1+0。所谓的 RAID 0+1 就是: (1)先让两颗磁碟组成 RAID 0,并且这样的配置共有两组; (2)将这两组 RAID 0 再组成一组 RAID 1。
RAID 5:效能与数据备份的均衡考量.
Spare Disk:预备磁盘的功能:
3..磁盘阵列的优点
数据安全与可靠性:指的并非资讯安全,而是当硬件 (指磁碟) 损毁时,数据是否还能够安全的救援或使用之意;
读写效能:例如 RAID 0 可以加强读写效能,让你的系统 I/O 部分得以改善;
容量:可以让多颗磁碟组合起来,故单一文件系统可以有相当大的容量。
4.软件磁盘阵列的配置
[root@www ~]# mdadm --detail /dev/md0
[root@www ~]# mdadm --create --auto=yes /dev/md[0-9] --raid-devices=N \
> --level=[015] --spare-devices=N /dev/sdx /dev/hdx...选项与参数:
--create :为创建 RAID 的选项;
--auto=yes :决定创建后面接的软件磁盘阵列装置,亦即 /dev/md0, /dev/md1...
--raid-devices=N :使用几个磁碟 (partition) 作为磁盘阵列的装置
--spare-devices=N :使用几个磁碟作为备用 (spare) 装置
--level=[015] :配置这组磁盘阵列的等级。支持很多,不过建议只要用 0, 1, 5 即可
--detail :后面所接的那个磁盘阵列装置的详细资讯
5.关闭软件 RAID(重要!)
# 1. 先卸载且删除配置档内与这个 /dev/md0 有关的配置: [root@www ~]# umount /dev/md0 [root@www ~]# vi /etc/fstab # 2. 直接关闭 /dev/md0 的方法! [root@www ~]# mdadm --stop /dev/md0 mdadm: stopped /dev/md0 <==不罗唆!这样就关闭了!
[root@www ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] unused devices:
[root@www ~]# vi /etc/mdadm.conf |
三.逻辑卷轴管理员 (Logical Volume Manager)
1.概述
LVM 的重点在于可以弹性的调整 filesystem 的容量,LVM 可以整合多个实体 partition 在一起, 让这些 partitions 看起来就像是一个磁盘一样!而且,还可以在未来新增或移除其他的实体 partition 到这个 LVM 管理的磁碟当中。
2.什么是 LVM: PV, PE, VG, LV
Physical Volume, PV, 实体卷轴
Volume Group, VG, 卷轴群组
Physical Extend, PE, 实体延伸区块
Logical Volume, LV, 逻辑卷轴
3.实现流程
PV 阶段
pvcreate :将实体 partition 创建成为 PV ;
pvscan :搜寻目前系统里面任何具有 PV 的磁盘;
pvdisplay :显示出目前系统上面的 PV 状态;
pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性。
VG 阶段
vgcreate :就是主要创建 VG 的命令啦!他的参数比较多,等一下介绍。
vgscan :搜寻系统上面是否有 VG 存在?
vgdisplay :显示目前系统上面的 VG 状态;
vgextend :在 VG 内添加额外的 PV ;
vgreduce :在 VG 内移除 PV;
vgchange :配置 VG 是否启动 (active);
vgremove :删除一个 VG 啊!
LV 阶段
lvcreate :创建 LV 啦!
lvscan :查询系统上面的 LV ;
lvdisplay :显示系统上面的 LV 状态啊!
lvextend :在 LV 里面添加容量!
lvreduce :在 LV 里面减少容量;
lvremove :删除一个 LV !
lvresize :对 LV 进行容量大小的调整!
5.放大 LV 容量
用 fdisk 配置新的具有 8e system ID 的 partition
利用 pvcreate 建置 PV
利用 vgextend 将 PV 加入我们的 vbirdvg
利用 lvresize 将新加入的 PV 内的 PE 加入 vbirdlv 中
透过 resize2fs 将文件系统的容量确实添加!
6. LVM 拥有快照功能,快照可以记录 LV 的数据内容,并与原有的 LV 共享未更动的数据,备份与还原就变的很简单;
7.LVM 相关命令汇整与 LVM 的关闭
任务 |
PV 阶段 |
VG 阶段 |
LV 阶段 |
搜寻(scan) |
pvscan |
vgscan |
lvscan |
创建(create) |
pvcreate |
vgcreate |
lvcreate |
列出(display) |
pvdisplay |
vgdisplay |
lvdisplay |
添加(extend) |
|
vgextend |
lvextend (lvresize) |
减少(reduce) |
|
vgreduce |
lvreduce (lvresize) |
删除(remove) |
pvremove |
vgremove |
lvremove |
改变容量(resize) |
|
|
lvresize |
改变属性(attribute) |
pvchange |
vgchange |
lvchange |