Linux运维第二阶段(七)高级文件系统管理
一、磁盘配额:
多用户共同使用一个硬盘,管理员应适当限制硬盘的空间,以妥善分配系统资源。
#grepCONFIG_QUOTA /boot/config-2.6.32-279.el6.i686
#rpm�Cqa | grep quota
用户配额和组配额;磁盘容量限制和文件个数限制;软限制和硬限制;宽限时间。
注:如果用户的空间处于软限制和硬限制之间,系统会在用户登录时警告将满,宽限时间默认7天,如果达到了宽限时间未调整,软限制就会升级为硬限制。
#mount -o remount,usrquota,grpquota /disk1 (临时生效
#vi /etc/fstab (写入配置文件,永久生效
/dev/sdb1 /disk1 ext4 defaults,usrquota,grpquota 1 2
1、#quotacheck [-a|-v|-u|-g|-c|-m|-f] 分区名 (建立磁盘配额的配置文件
-a 扫描/etc/mtab文件中所有启用该功能的分区,有此项则不加分区名
-v 显示扫描过程
-u 建立用户配额的配置文件aquota.user
-g 建立组配额的配置文件aquoa.grp
-c 不管原有的配置文件,重建新的配置文件
-m 强制以读写的方式扫描文件系统,一般扫描根分区使用
-f 强制扫描文件系统,并写入新的配置文件,一般扫描新添加的硬盘使用
例:#quotacheck�Cavug (扫描创建前先关闭SELINUX)
#ll /disk1
2、#quotaon -avug (开启磁盘配额
#quotaoff -avug (关闭磁盘配额
3、#edquota -u|-g|-t|-p 用户名/组名 (设置用户和组的磁盘配额
-t (设定宽限时间
-p (复制配额,例:#edquota -p 源用户 -u 目标用户
例:#edquota -u lamp1
#edquota -g brother
#edquota -p lamp1 -u lamp2
#edquota -t
4、#quota -u|-g|-v|-s 用户名/组名 (查询用户和组的磁盘配额
-s 以习惯单位显示
例:#quota -uvs lamp1
#repquota -a|-u|-g|-v|-s 分区名 (查询文件系统配额
例:#repquota -avugs
5、#setquota -u 用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名
例:#setquota -u lamp3 10000 20000 5 8 /disk
二、LVM(logical volume manager)
1、PV(physical volume):真正的物理硬盘或分区;
VG(volumegroup):多个物理卷合起来组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区,可想象为一个逻辑硬盘;
LV(logicalvolume):是VG分区之后才能使用的,LV可格式化,可想象为分区;
PE(physicalextend):保存数据的最小单元,默认4M,可自定义配置,可想象为硬盘的block。
2、建立LVM步骤:物理硬盘分区,改系统ID号为8e;分区建立PV;PV组合成VG;VG划分为LV。
3、PV管理:
#fdisk /dev/sdb (改分区ID为8e
#pvcreate 设备文件名 (可#pvcreate /dev/sdb整块硬盘或#pvcreate/dev/sdb5一个分区
#pvscan (查看物理卷
#pvdisplay (查看更详细的物理卷状态
#pvremove /dev/sdb2 (删除物理卷
4、VG管理:
#vgcreate -s PE大小 卷组名 物理卷名
例:#vgcreate -s 8M vg /dev/sdb5 /dev/sdb6
#vgscan
#vgdisplay
#vgextend 卷组名 分区号 (例:#vgexten vg /dev/sdb7
#vgreduce 卷组名 分区号 (例:#vgreduce vg /dev/sdb7
#vgremove 卷组名
5、LV管理:
#lvcreate -L 容量|-l PE个数| -n 逻辑卷名 卷组名
-L 容量 (指定逻辑卷大小,单位MGT
-l PE个数 (用PE个数指定LV大小
-n逻辑卷名 (指定LV名
例:#lvcreate -L 1.5G -n lv vg
#lvscan
#lvdisplay
#lvresize -L 容量|-l PE个数 lv的设备文件名
-L容量 (指定LV大小,可用+-调节,单位MGT
例:#lvresize -L 2.5G /dev/vg/lv
#resize2fs -f 设备文件名 调整的大小 (调整大小lvresize后一定要用此命令
-f (force
调整的大小 (指定分区调整到多大,无此项会使用整个分区
例:#resize2fs /dev/vg/lv
#lvremove 逻辑卷的设备文件名 (先卸载后移除
#mkfs -t ext4 /dev/vg/lv
#mount /dev/vg/lv /mnt/lv
三、RAID磁盘阵列
1、RAID0带区卷(数据平均写入到每块硬盘中);
RAID1镜像卷(备份,由两块硬盘组成);
RAID10(先用两块硬盘组成RAID1,再两块硬盘也组成RAID1,这两组组合为RAID0);
RAID01(先两块硬盘组成RAID0,再用两块硬盘也组成RAID0,这两组共同组合为RAID1);
RAID5(至少三块硬盘,大小一样)。
2、命令模式设置为RAID5
#mdadm 模式 RAID设备文件名 选项
模式: Assemble 加入一个已经存在的阵列
Build 创建一个没有超级块的阵列
Create 创建一个阵列每个设备具有超级块
Manage 管理阵列,如添加删除设备
Misc 允许单独对阵列中的设备操作,如停止阵列
Followor Monitor 监控RAID状态
Grow 改变RAID的容量或阵列中的数目
选项: --scan,-s 扫描配置文件或/proc/mdstat,发现丢失的信息
--detail,-D 查看RAID详细信息
--create,-c 建立新的磁盘阵列,调用create模式
--auto=yes,-a 用标准格式建立RAID
--raid-devices=num,-n 使用几个硬盘或分区组成RAId
--level=级别,-l创建RAID级别可以是0,1,5
--spare-devices=num,-x 备份设备
--add,-a 已存在的RAID中加入设备
--remove,-r 已存在的RAID中移除设备
--fail,-f 已存在的设备设为fault
--stop,-S 停止RAID设备
--assemble,-A 按照配置文件加载RAID
例:#mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 \ >/dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8
#mdadm --detail /dev/md0
#cat /rpoc/mdstat
#mkfs -t ext4 /dev/md0
#mount /dev/md0 /raid/
#echo Device /dev/sdb[5-8] >>/etc/mdadm.conf
#mdadm -Ds >> /etc/mdadm.conf
#vi /etc/fstab (设置开机自动挂载
/dev/md0 /raid ext4 defaults 1 2
#mdadm --stop /dev/md0
#mdadm -As /dev/md0 (启动并挂载
#mount /dev/md0 /raid/
#mdadm /dev/md0 --fail /dev/sdb7
#mdadm --detail /dev/sdb7
#mdadm /dev/md0 --remove /dev/sdb7
#mdadm /dev/md0 --add /dev/sdb9 (备份分区/dev/sdb8已激活