设定文件系统配额node
1.分区挂载选项:linux
usrquota、grpquota (能够设置为分区开机自动挂载选项)shell
2.初始化数据库:数据库
quotacheck -cug dirnamevim
-u 生成user.quota文件centos
-g 生成group.quota文件app
3.为用户设定配额:dom
quotaon、quotaoff dirname 开启/取消配额ide
edquota username 直接编辑当前用户自身配额性能
-u username 查看其它用户磁盘配额
setquota username 4096 5120 40 50 /foo 在shell中直接编辑
-p user1 user2 定义原始标准用户
4.报告配额状态:
quota 查看当前用户配额
quota username 查看指定用户配额
requota 挂载点 配额概述
warnquota 警报
-u usename (给指定用户发邮件,在/var/mail/目录下查看)
-g groupname (当组的配额超出时给组管理员发邮件,管理员需在/etc/quotagrpadmin 中指定,格式为: groupname:username)
--------------------※实验一:用户磁盘配额※-----------------------
①vim /etc/fstab 在/home后设置defaults,usrquota(用户配额),grpqu(组配额)
②quotacheck -cug /home 生成quota文件
③quotaon /home 开启quota
④cd username 切换至用户的家目录
⑤edquota username 编辑用户quota,其内容以下
[root@centos6 caocao]# edquota -u caocaoDisk quotas for user caocao (uid 508): 已经有的block大小(kb) 软限额 硬限额 已经有的inode数量 Filesystem blocks soft hard inodes soft hard /dev/sda6 64 102400 122880 16 200 280
⑥quota -u username 查看用户配额
[root@centos6 ~]# quota -u caocaoDisk quotas for user caocao (uid 508): 宽限天数(当超出这个天数后,超出配额的文件将会被强制删除) Filesystem blocks quota limit grace files quota limit grace /dev/sda6 76 102400 122880 17 200 280
⑦su - username(必须交互式登陆用户才能测试出来配额设定结果)
测试caocao用户的配额设定:
[root@centos6 home]# su - caocao[caocao@centos6 ~]$ for i in {18..199};do touch test$i;done 建立[caocao@centos6 ~]$ quotaDisk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 199 200 280 [caocao@centos6 ~]$ touch test200 [caocao@centos6 ~]$ quota Disk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 200 200 280 [caocao@centos6 ~]$ touch test201 #超过限额sda6: warning, user file quota exceeded.[caocao@centos6 ~]$ quota #当超过限额时,file位置出现*,grace出现提示位Disk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 201* 200 280 7days
--------※ 实验二:迁移/home(将home由/迁移至某一分区)※--------
1.知识点及注意事项:
①生产环境中可能存在不一样用户同时在线访问家目录,这会致使家目录挂载失败从而迁移失败,因此,须要切换到单用户模式,阻止其余用户在线访问。
init 0 关机
1 单用户模式
3 多用户模式
4 用户自定义
5 多用户+图形化
6 重启
②此过程当中须要将新建分区挂载两次。第一次时由于要将/home数据写入分区。第二次将分区挂载到/home下。
2.实验步骤:
init 0 进入单用户模式
vim /etc/selinux/config =permissive 关闭selinux
fdisk /dev/sda 建立/dev/sda6 (注意当sda5为拓展分区时,不要选择系统默认起始柱面,而要本身选择起始柱面)
mkfs.ext4 /dev/sda6
df 查看/home是否被挂载,如挂载现将其卸载
mount /dev/sda6 /mnt 挂载分区实现数据迁移
cp -a /home/* /home.bak 备份/home(别忘了多备份一份数据偶)
mv /home/* /mnt 将/home下的文件移到/dev/sda6下
rm -rf /home 删除/home
umount /dev/sda6 卸载sda6
mkdir /home
mount /dev/sda6 /home 将sda6挂载到/home下
vim /etc/fstab 设置开机自动挂载sda6到/home,新增内容以下,能够经过blkid 分区名 来查看UUID。
UUID="6c8be0be-d54c-4bd6-a6cb-8b6f11aacc23" /home ext4 defaults 0 2
此时,/home下拥有以前的全部数据,且挂载到了sda6下,完成迁移
reboot 重启
当home目录下数据较少时,咱们可经过迁移home目录,将/home挂载到更大的分区上的方法来实现/home的扩容,但实际生产环境中可能用户家目录下的数据量会很是之庞大,迁移起来将会花费很是多的时间,那咱们能不能在不迁移用户家目录的状况下来实现扩容呢,毫无疑问,答案是确定的,再讲完下面的RAID后,LVM就会帮咱们解决这个老大难问题。
RAID
一:什么是raid??
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者二者都提供。
二:经常使用raid类型及特色:
三:mdadm 建立软RAID
①格式:
mdadm [mode] <raiddevice> [options] <devices>
②mode&&options
-C --create 建立
options:
-n 所使用的块设备的数量
-l 指定raid级别
-a{yes/no} 自动建立raid设备的设备文件
-c chunk_size 指定chunk大小
-x 指明空闲盘的个数(热备盘) raid0 没有热备盘
-G raid设备 -n # -c 块设备名 往raid中添加设备(通常都要从新指定 -n)
-A 装配
-F 监控
-f,-r,-a 管理
-f 标记指定磁盘为损坏
-a 添加磁盘
-r 移除磁盘
③<raiddevice>:/dev/md#
④<devices>:任意的块设备(磁盘或磁盘分区)
注意:当使用分区组成raid设备时,要先将其分区格式转换成raid格式,例如咱们想要新建raid0设备,有两个分区组成,步骤以下:
1.转换分区格式
[root@centos6 ~]# fdisk /dev/sdbCommand (m for help): tSelected partition 1Hex code (type L to list codes): fdCommand (m for help): p Device Boot Start End Blocks Id System/dev/sdb1 1 1306 10490413+ fd Linux raid autodetect #转换成功,保存退出同上再转换/dev/sdc1为raid格式
2.建立raid
mdadm -C
⑤查看raid信息
mdadm -D /dev/md# 查看指定RAID的详细信息(detail)
cat /proc/mdstat 查看md的进度
配置软RAID
①建立一个raid5类型,md0
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
②格式化
mkfs.ext4 /dev/md0
③检测
④检查raid设备的情况
[root@centos6 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Aug 10 04:24:47 2017
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB) #热备盘大小
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Aug 10 04:27:00 2017
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : centos6.9:0 (local to host centos6.9)
UUID : eff8381d:fb18016b:ee06c91d:ef2a7086
Events : 20
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde #热备盘
⑤往raid中添加新设备
mdadm /dev/md0 -a /dev/sdf1
软raid的检测和修复
①模拟故障
mdadm /dev/md0 -f /dev/sda1 模拟磁盘故障
mdadm /dev/md0 –r /dev/sda1 移除磁盘
②修复故障步骤:
1)替换出故障的磁盘而后开机
2)在备用驱动器上重建分区
3) mdadm /dev/md0 -a /dev/sda1 向raid设备添加磁盘
软raid管理:
生成配置文件:
mdadm -D -s >/etc/mdada.conf 将全部的raid信息保存到配置文件
mdadm -D -s raid名 >>/etc/mdada.conf 将指定的raid的信息追加到配置文件
中止设备:mdadm –S /dev/md0 (stop)
激活设备:mdadm –A –s /dev/md0
强制启动:mdadm –R /dev/md0
删除raid信息:mdadm --zero-superblock /dev/sdb1
注意:
当没有生成配置文件时,停掉raid设备后再次重启时须要指定组成RAID的磁盘名,为了方便重启raid,咱们能够生成配置文件,这样在重启时就不须要指定磁盘,具体步骤以下:
[root@centos6 ~]# mdadm -A /dev/md0 /dev/sdb /dev/sdc /dev/sdd /dev/sde #没有生成配置文件以前启动md0mdadm: /dev/md0 has been started with 3 drives and 1 spare.[root@centos6 ~]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf #生成配置文件[root@centos6 ~]# mdadm -S /dev/md0 #再次关闭md0mdadm: stopped /dev/md0[root@centos6 ~]# mdadm -A /dev/md0 #不加参数,直接重启md0,重启成功mdadm: /dev/md0 has been started with 3 drives and 1 spare.
常见raid操做:删除raid
1.查看raid是否挂载,如挂载,卸载raid2.查看raid的成员:[root@centos6 ~]# mdadm -D /dev/md03.关闭raid[root@centos6 ~]# mdadm -S /dev/md0 4.删除raid信息:[root@centos6 ~]# mdadm --zero-superblock /dev/sdb[root@centos6 ~]# mdadm --zero-superblock /dev/sdc[root@centos6 ~]# mdadm --zero-superblock /dev/sdd[root@centos6 ~]# mdadm --zero-superblock /dev/sde5.删除raid配置文件中该raid信息[root@centos6 ~]# vim /etc/mdadm.conf
配置逻辑卷
一:逻辑卷原理
将几个物理分区(或磁盘)经过软件组合成一块独立的大磁盘(VG),再将VG分区造成可以使用的分区(LV),最终就可以挂载使用。
二:PV PE VG LV 是什么??
PE 物理拓展块
一个PE块默认为4MB,vg中最多包含65534个PE,即一个VG大小为256G。调整PE大小能够影响VG大小(文件系统的扩大和缩小和他有关!!!!)
PV 物理卷:
经过fdisk将分区格式化为8e(LVM)格式,createpv将格式化后的分区转化为最底层的PV,以后经过它建立VG。
VG 逻辑卷组
由多个物理的磁盘或分区组成的大磁盘(由PV组成)
LV 逻辑卷
由VG切割而成,而LV不能随意指定大小,由于LV也是由PE组成,因此只能是4的倍数。格式为‘/dev/vgname/lvname’。
如图一,能够直观反应逻辑卷弹性更改文件系统容量原理:
①VG的拓展原理:新增PV,经过这些PV使VG能够获取更多的PE。
②LV的拓展和缩减原理:添加所属VG中没有使用的PE;将LV内没有使用的PE转移到其余设备以下降容量。
三:LV各组件的实现流程:
※ PV阶段:
pvcreate 将物理分区新建成pv
pvscan/pvs 显示已有的pv
pvdisplay 详细显示已有的pv状态
pvremove 删除pv(将分区的pv属性删除)
※ VG阶段(vgname自定义):
vgcreate 新建vg
-s 指定PE大小
vgscan 显示系统已有vg
vgdisplay 湘详细显示vg信息
vgextend 拓展vg(pvs查看pv,添加没有使用的pv到vg)
格式:vgextend vgname pvname
vgreduce 缩减vg(删除pv到)
vgchange 设置vg是否启动(active)
vgremove 删除一个vg
※ LV阶段:
lvcreate 新建lv
格式:lvcreate -L lv容量 -n lvname vgname(说明lv占用着vg中的PE)
注意:lv容量应该是PE大小的倍数
lvscan 显示系统中已有lv
lvdisplay 详细显示lv
lvextend 增容lv
lvreduce 降容lv
lvremove 删除lv
lvresize 对lv进行容量大小调整
注:vg名为自定义。但lv名为/dev/vgname/lvname
到这里,lv已经建立成功。lv建立成功后就能进入咱们熟悉的文件系统阶段了。
※ lv分区的格式化、挂载。
------------------------实验三:拓展逻辑卷-------------------------
啰嗦两句:
不一样于文件系统中的普通磁盘分区,lv分区能够经过从vg中得到PE来实现扩容,这在真实生产环境中能够说是很是方便,下面就让咱们看看具体操做步骤吧
1.fdisk 新建8e分区
2.pvcreate 新建pv
3.vgextend 将pv加到lv所属vg中
3.lvresize 将新加入的pv中的PE加入到lv中
4.resize2fs 将文件系统的容量确实增长
题内话: resize2fs命令格式
resize2fs [ -f ] devicename [size]
能够不加size选项,当加size时,就必须跟上大小单位,如M、G等,表示只向文件系统中添加指定大小的数据。
若是是xfs文件系统 用xfs_growfs,格式以下:
xfs_growfs /dev/vg01/lv01
具体操做过程以下:
1.[root@localhost ~]# pvs #查看已有pv
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- 4.98g 0
/dev/sdb2 vg1 lvm2 a-- 4.98g 4.41g
2.[root@localhost ~]# fdisk -l /dev/sdb #新建 /dev/sdb3
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 8e Linux LVM
/dev/sdb2 10487808 20973567 5242880 8e Linux LVM
/dev/sdb3 20973568 31459327 5242880 8e Linux LVM
3.[root@localhost ~]# pvcreate /dev/sdb3 #建立pv
Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- 4.98g 0
/dev/sdb2 vg1 lvm2 a-- 4.98g 4.41g
/dev/sdb3 lvm2 --- 5.00g 5.00g
4.[root@localhost ~]# vgextend vg1 /dev/sdb3 #拓展vg
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- 14.95g 9.39g
5.[root@localhost ~]# vgdisplay #查看vg中PE的使用状况
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 14.95 GiB
PE Size 16.00 MiB
Total PE 957 PE总数
Alloc PE / Size 356 / 5.56 GiB 已使用PE个数,还有601个空余
Free PE / Size 601 / 9.39 GiB
VG UUID HOZg8f-bPOD-DovL-t3TQ-Xhsp-pJls-4QewSF
6.[root@localhost ~]# lvresize -l +200 /dev/vg1/lv1 #lv扩容
7.[root@localhost ~]# lvdisplay #查看lv扩容后的大小
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID iAzH6J-xhP6-L63H-JP6x-wOXM-Zay1-rVq36h
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-08-27 22:38:07 +0800
LV Status available
# open 1
LV Size 8.69 GiB
Current LE 556
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
10.[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 47G 5.2G 42G 11% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 144K 912M 1% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1.9G 169M 1.7G 9% /boot
/dev/sda3 47G 3.7G 43G 8% /app
tmpfs 183M 20K 183M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1 5.4G 23M 5.1G 1% /mnt/lv1
到这里,lv扩容已经完成,但真实文件系统中的容量并无增长,这是别忘了咱们要重置文件系统的lv大小
11.[root@localhost ~]# resize2fs /dev/mapper/vg1-lv1 #重置文件系统中lv大小
12.[root@localhost ~]# df -h #拓展成功
/dev/mapper/vg1-lv1 8.5G 25M 8.0G 1% /mnt/lv1