centos7/linux 磁盘管理入门
添加新磁盘并挂载:
设置虚拟机系统里添加磁盘,重启虚拟机后,虚拟机目录/dev下会增加一个sdb设备。
使用fdisk /dev/sdb 管理磁盘分区,首先p 查看磁盘分区信息,然后n增加一个主分区,然后在敲入p进行分区操作,再输入1表示命名分区为sdb1,接着会提示输入开始扇区,直接回车跳过,然后在最后扇区那里输入+2G表示该分区大小设置为2G,使用p再次查看分区是否成功创建,显示有新的分区后,敲入w键表示写入磁盘。命令执行完成后,会自动退出fdisk。现在file /dev/sdb1查询分区信息,如果出错,敲入命令partprobe或者直接重启虚拟机即可。
因为Linux系统无法对没有格式化的磁盘进行读写操作,所以接下来还需要格式化创建好的分区。输入命令mkfs.xfs /dev/sdb1将其格式化为xfs文件系统格式,如果需要换成其他格式可以在敲完mkfs后再使用两次tab键来显示其他文件系统格式。
那么,现在我们只需要再挂载该分区到系统里就可以了,首先mkdir /newFS 在根目录创建文件夹用来挂载,然后就是mount /dev/sdb1 /newFS。现在就可以正常使用该分区了。但每次重启虚拟机后都需要再挂载一遍,所以我们可以在每次开机时自动挂载该分区,vi /etc/fstab 然后在文件末尾添加 /dev/sdb1 /newFS xfs defaults 0(表示是否开机磁盘自检) 0
如果挂载命令写错,重启centos7后会进入emergency mode
当遇到这个问题是我们的解决方法是
根据提示输入root密码
编辑/etc/fstab,修改错误的那条挂载命令(就是你后来自己添加上去的命令)
然后重启就可以了
添加交换分区:
创建分区2跟上面创建分区1的步骤一直,创建好并退出fdisk之后,输入命令mkswap /dev/sdb2,格式化次盘为swap格式,使用free -h 查看交换区信息,挂载到系统中的命令是swapon /dev/sdb2,再次使用free -h命令查看交换区,会发现交换区swap比原来的大了分区2的大小。开机自动挂载命令也是在fstab文件末尾添加/dev/sdb2 swap swap defaults 0 0
磁盘容量配额:(没尝试过)
修改/etc/fstab文件,UUID更改该行为UUID=某些数字 /boot xfs defaults,uquota 1 2 重启系统生效,验证是否生效使用命令mount | grep boot显示最后一项为usrquota
以下命令是用户磁盘配额的,针对/boot
useradd tom
chmod -Rf o+w /boot
xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot(其中-x指专家模式,-c以参数的形式设置命令,bsoft硬盘软限制额度,bhard硬盘硬限制额度,isoft创建文件软额度,ihard创建文件硬额度,其中当达到软限制时会提示用户但仍可使用,而达到硬限制额度会提示用户并强制终止用户该操作)
xfs_quota -x -c report /boot查看配置情况
su - tom (最好在中间加一个减号)
dd if=/dev/zero of=/boot/tom bs=5M count=1(if输入,of输出,bs块大小,count数量)创建5m的文件到/boot/tom,创建成功,如果把5m改为8m,创建失败,因为bhard=6m。编辑quota配额限制,edquota -u tom,修改hard参数。dd命令解释:格式dd if=/dev/zero of=/root/tom bs=5M count=1创建一个5m的文件到/root/tom中,/dev/zero就是用来产生这么大的文件用的(cat /root/tom没有内容)
高大上的RAID配置:
首先得要在vm软件添加四个虚拟磁盘,默认下一步下一步即可,然后开启虚拟机,如果没有mdadm命令的话就yum install mdadm -y,其它命令也类似,屡试不爽
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde(-C 创建RAID -v显示过程 -a自动创建文件-n磁盘个数 -l 10 表示RAID10方案,后面是四个磁盘)
mkfs.ext4 /dev/md0格式化磁盘
mkdir /RAID
mount /dev/md0 /RAID
df -h查看详情
mdadm -D /dev/md0 查看详情
echo "/dev/md0 /RAID ext4 defaults 0 0 " >>/etc/fstab
损坏磁盘列阵及修复:
mdadm /dev/md0 -f /dev/sdb(-f 模拟/dev/md0里的sdb损坏)
mdadm -D /dev/md0 查看详情,可以看到 sdb 处于faulty状态
umount /RAID(从这里开始犯迷糊了)
mdadm /dev/md0 -a /dev/sdb(-a添加设备)
mdadm -D /dev/md0查看
磁盘阵列组+备份组:
首先像前面那样添加四块磁盘,其中一块是用来做备份磁盘的
mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde (-n多少块-l表示RAID级别-x多少块备份盘)
现在开始格式化mkfs.ext4 /dev/md0
开机自动挂载echo " /dev/md0 /RAID ext4 defaults 0 0" >>/etc/fstab
mkdir /RAID
挂载全部mount -a,接着就可以查看情况了
现在模拟损坏情况:mdadm /dev/md0 -f /dev/sdb 模拟sdb损坏 ,使用mdadm -D /dev/md0查看情况,可以发现sde会自动顶替上去了(这里我执行的时候会提示错误,暂时还没有找到解决方法)