添加新磁盘并挂载

设置虚拟机系统里添加磁盘,重启虚拟机后,虚拟机目录/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会自动顶替上去了(这里我执行的时候会提示错误,暂时还没有找到解决方法)

centos7/linux 磁盘管理入门的更多相关文章

  1. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

  2. linux磁盘管理系列-LVM的使用

    LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...

  3. linux磁盘管理系列三:LVM的使用

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  4. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  5. Linux 磁盘管理,Linux vi/vim

    一.Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 ...

  6. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  7. df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)

    From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...

  8. linux 磁盘管理学习笔记

    磁盘管理命令:fdisk df du fdisk #查看硬盘分区表 df #查看分区使用情况 du #查看文件占用空间情况lvdisplay #逻辑分区 [1] 李洋.df.du.fdisk:Linu ...

  9. linux磁盘管理系列一:磁盘配额管理

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

随机推荐

  1. flask-admin有用的例子

    flask-admin主页: https://github.com/flask-admin/flask-admin flask-admin克隆地址: https://github.com/flask- ...

  2. flask项目结构(四)使用sqlalchemy和alembic

    简介 其实我不是啥正经人,错了,不是啥正经程序员,所能想到的估计也就码农一级吧,高级程序员,搞什么算法,什么人工智能,大数据计算…………离我还太遥远. 但是这并不妨碍我继续学习,继续写垃圾小程序. 反 ...

  3. docker(三)容器的基本操作

    下载镜像 docker pull name 基本启动容器 docker run IMAGE command args run 在新容器中运行 IMAGE 镜像名称 command 容器命令 args ...

  4. 四:(之五)Dockerfile语法梳理和实践

    *5.Dockerfile语法梳理和实践 5.1 尽量使用官方的image作为base image 5.2 metadata:指明作者 版本 描述 5.3 每一条run都能形成一个分层,避免无用分层应 ...

  5. 初识数据库、初识MySQL

    一.为什么要用数据库 # 1.将文件和程序存在一台机器上是很不合理的. # 2.操作文件是一件很麻烦的事. 所以就出现了一个新的概念 —— 数据库 你可以理解为 数据库 是一个可以在一台机器上独立工作 ...

  6. SQL-12 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary

    题目描述 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salaryCREATE TABLE `dept_emp` (`emp_no` int(11) NOT ...

  7. html随笔CSS(*^__^*)

    控制文本显示字数,超过规定的文本长度  x显示... white-space:nowrap;        //规定不能换行 overflow:hidden; text-overflow:ellips ...

  8. byte[]->new String(byte[]) -> getByte()引发的不一致问题

    今天接短信接口,短信接口提供了sdk,我们可以直接用sdk发送请求然后发送对应短信. 但是想使用我们平台自定义的httpUtil实现. 然而忙了1天半,才解决这个问题,还是我同事帮忙找出问题并解决的. ...

  9. c#dataGridView 知识

    一.单元格内容的操作 // 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index Conso ...

  10. centos /data目录扩容

    /data盘被日志撑死了,必须扩容 有一块现成的100G的/dev/sdb盘,但是mount到了/data/test目录下,而且还有应用程序在上面进行读写操作 1.先查看哪些应用程序 在占用磁盘 #f ...