一、迁移分区
分区 /dev/sda6 注意同步问题 创建分区,把原先家目录下的文件拷贝到新挂载的文件中
mkfs.ext4 /dev/sda6 mkdir /mnt/home
mount /dev/sda6 /mnt/home
cp -a /home/* /mnt/home
init 1 切换单用户模式,把生产环境的用户都踢出去,进行维护修改
rm -rf /home/* 删除/home下的所有文件
mount /dev/sda6 /home
umont /mnt/home
vim /etc/fstab 编辑
init 5 切换到图形界面,用户就可以登录了。
这样就实现把/home 挂载到新的磁盘分区里面了。
二、文件系统启动磁盘配额
用户分区配额:usrqouta 组的分区配额:groupqouta
1.启动磁盘配额挂载选项:vim /etc/fstab defaults,usrquota,groupqouta mount -o remount /home mount
2.创建配额数据库:setenforce 0 quotacheck -cug /home
3.启动数据库 quotaon -p /home (查看数据库启用状态) quotaon /home
4.指定用户空间限制
edquota lyx edquota -p usr1 usr2 :把usr1的配额复制给usr2,但是由于是交互式的,不能写入脚本
setquota lyx 100000(100M报警)150000(最大写入150M) 0 0 /home
文件系统启用配额
2.1 启用配额挂载选项
vim /etc/fstab
defaults,usrquota,grpquota
mount -o remount /dev/sdX /home 对修改的生效 ; mount -a 只能对新加的生效
mount 确认是否真的修改挂载选项
2.2 创建配额数据库
setenforce 0 禁用selinux守护 策略
quotacheck -cug /home -c:创建数据库 -u:针对用户的数据库 -g:针对组的数据库
setenforce 1 启用selinux 策略 ,增加安全性
2.3 启用数据库
quotaon -p /home 查看数据库启用状态
quotaon /home 启用数据库
2.4 指定用户空间限制
edquota wang 针对wang用户(ID号)设置配额
Filesystem (设备名) blocks(用户已经用了多少块) soft(报警时的配额) hard(最大配额)
edquota -p wang mage 把wang的磁盘配额复制给mage
setquota wang 100000 150000 0 0 /home 设置wang用户的报警配额 和最大配额
2.5 测试
su – wang 切换wang用户 dd if=/dev/zero of=f1 bs=1M count=50 写入50M
三、RAID的实现
RAID:Redundant Arrays of Inexpensive(Independent)Disks:廉价磁盘冗余阵列
1988年由加利福尼亚大学伯克利分校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks”。表现为多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
RAID-0:
读、写性能提升;可用空间:N*min(S1,S2,…);无容错能力;最少磁盘数:2, 2
条带卷:先将磁盘切除等量的区块chunk,然后当一个文件要写入RAID时,该文件会依据区块大小切割好,之后一次放入到各磁碟中去。由于每个磁盘会交错存放数据,因此当数据写入到RAID时,数据会被等量的放置各磁盘上。
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 混合类型级别
RAID-10:
读、写性能提升;可用空间:N*min(S1,S2,…)/2;有容错能力:每组镜像最多只能坏一块;最少磁盘数:4, 4+
RAID-01 、RAID-50
RAID7:可理解为独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID 模式。
JBOD :Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用可用空间:sum(S1,S2,…)
v 常用级别:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD
3.1 软RAID
v mdadm :为软RAID 提供管理界面;作用为为空余磁盘添加冗余
v 结合内核中的md(multi devices)
v RAID 设备可命名为/dev/md0 、/dev/md1 、/dev/md2、 /dev/md3 等等
软件RAID 的实现
v mdadm :模式化的工具
v 命令的语法格式:mdadm [mode] <raiddevice> [options]
<component-devices>
v 支持的RAID 级别:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
3.2 mdadm创建和删除RAID
3.2.1 创建raid
1. mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 -c 256 /dev/sd{a7,b,c,d}
-C:创建RAID ; -a:自动创建 ;-c:指明chunk大小 ;-x:指明空闲盘的个数 ;-l:指明要创建RAID级别
2. mke2f -j /dev/md0 用文件系统对每个RAID设备进行格式化
3. mdadm -Ds /dev/md0 > >/etc/mdadm.conf 生成配置文件 -D:显示raid的详细信息
4. mount /dev/dm0 /mnt/raid5 vim /etc/fstab ; mount -a ; mount
mdadm /dev/md0 -f /dev/sdc -f:标记指定sdc为坏的磁盘 |
5.软RAID修复 替换出故障的磁盘然后开机;在备用驱动器上重建分区 |
mdadm /dev/md0 -r /dev/sdc -r:移除坏的sdc磁盘 |
6. mdadm -G /dev/md0 -n 4 -a /dev/sde 增加新成员 -n #:使用#个块设备创建此RAID
7. resize2fs /dev/md0 60G 扩容
8. mdadm -D /dev/md0 显示raid的详细信息
9.cat /proc/mdstat 观察md0的状态
3.2.2 删除raid
umount /mnt/raid5 取消raid挂载
madam -S /dev/md0 停止软RAID服务 madam -D /dev/md0
mdadm –zero-superblock /dev/sdb 删除 /dev/sdd的RAID信息 ;
或者 dd if=/dev/zero of=/dev/sdd bs=1G count=50
四、逻辑卷创建(LVM)
4.1 什么是LVM、dm
LVM: Logical Volume Manager逻辑卷管理
v dm: device mapper设备映射器 : 将一个或多个底层块设备组织成一个逻辑设备的模块
v 设备名:/dev/dm-#
v 软链接:/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小。
v 允许在多个物理设备间重新组织文件系统
1.将设备指定为物理卷物理卷是用固定大小的物理区域(Physical Extent,PE )来定义的
2.用一个或者多个物理卷来创建一个卷组
3.在物理卷上创建的逻辑卷 :是由物理区域(PE )组成
4.可以在逻辑卷上创建文件系统
4.2 创建LVM
1、 fdisk /dev/sda t 8e 指定物理卷 LVM
partx -a /dev/sda 同步到设备文件
2、 pvcreate /dev/sd{a7,b} 创建物理卷 :用固定大小的物理区域(Physical Extent,PE)
pvs;vgs 查看创建物理卷信息;查看卷组的信息
3、vgcreate vg0 /dev/sd{a7,b} 用物理卷创建卷组
vgs;vgdisplay 查看卷组信息
4、lvcreate -n lv0 -L 15G vg0 -l:PE的个数 ;-L:指定容量 在物理卷组上创建逻辑卷
lvs pvdisplay 查看逻辑卷信息
5、mkfs.ext4 /dev/vg0/lv0 在逻辑卷上创建文件系统
ll /dev/vg0/lv0 不是真正的设备,只是指向../dm-0的软链接
dm: device mapper设备映射器: 将一个或多个底层块设备组织成一个逻辑设备的模块。
6、mkdir /mnt/lv0 mount /dev/vg0/lv0 /mnt/lv0 挂载逻辑卷
7、vim /etc/fstab
8、mount -a ; mount -o remount /dev/vg0/lv0 /mnt/lv0 开机挂载信息
9、df -h 读取挂载逻辑卷信息
10、测试:dd if=/dev/zero of=/mnt/lv0/f1 bs=1G count=14
LVM弹性更改文件系统的容量:v
LVM 可以弹性的更改LVM 的容量通过 交换PE 来进行资料的转换,将原来LV 内的PE转移到其他的设备中以降低LV 的容量,或将其他设备中的PE 加到LV 中以加大容量。
4.3 逻辑卷扩展(在线)
1、vgdisplay 硬盘里面还在写文件的同时也能扩展逻辑卷 ,可以看到PE数以及尺寸。
2、lvextend -L -l n /dev/vg0/lv0 扩展逻辑卷
-L:+10G;25G 都是扩展到25G ;-l:增加PE数可在 n:名字lv0
3、resize2fs /dev/vg0/lv0 26G 扩展文件系统存储;用df -h查看不同步,使用此命令能同步逻辑卷差不多26G大小
xfs_grow /mnt/lv0 CentOS7上面扩展逻辑卷
4、 lvextend -r -l +100%FREE /dev/vg0/lv0 文件系统扩展卷组的所有的剩余空间到逻辑卷
此卷组没有多余空间创建新的逻辑卷。
4.4 扩展卷组
1、pvcreate /dev/sdc 先创建新的物理卷
2、pvdisplay 显示物理卷信息
3、vgextend vg0 /dev/sdc 扩展物理卷到新的卷组
(lvextend -r -l +100%FREE /dev/vg0/lv0 扩展所有的剩余空间到逻辑卷)在逻辑卷空间不够的情况下。
4.5 逻辑卷缩减(离线ext4)
1、umount /mnt/lv0/ 取消挂载,取消在/etc/fstab的存储
2、fsck -f /dev/vg0/lv0 需要对文件系统的完整性检查
3、resize2fs /dev/vg0/lv0 20G 文件系统缩减到20G (缩减前建议备份数据)
4、lvreduce -L 20G /dev/vg0/lv0 逻辑卷缩减到20G (如果数据大于20G,会造成数据丢失)
5、mount -a 重新挂载回去,因为/etc/fstab 没有更改
4.6 空间迁移
(迁移的是PE,数据随之一起迁移)移除物理卷PV
pvmove /dev/sdb 先确认 pv有没有足够的空间 ,先移除sdb上的PE空间挪到卷组的其他空间
vgreduce vg0 /dev/sdb 把sdb从卷组vg0中移除 vgdisplay ,pvdisplay
pvremove /dev/sdb 把sdb从物理卷中移除
4.7 逻辑卷删除
删除逻辑卷必须先删除LV ,再删除VG ,最后删除PV
在图形界面中点击逻辑卷管理器的“卷组”-> “逻辑视图”的LV 逻辑卷
v 点击“移除选择的逻辑卷”,再删除VG ,最后删除PV。
原创文章,作者:lyx,如若转载,请注明出处:http://www.178linux.com/61079