Linux新手随手笔记1.6
RAID磁盘冗余阵列
1.I/O 速度
2.数据安全性
RAID 0
负载均衡。速度乘以二,但是数据安全性不行,任何一块盘损坏数据都会丢失。
RAID 1
安全性性提升2倍,任何一个损坏另一个都有备份。速度略有降低。成本增加了。浪费了一半。
RAID 5
有一块损坏之后加进去一块新的硬盘之后可以尝试恢复。这样的好处是其中任何一设备损坏后不至于出现致命缺陷
奇偶校验和
RAID 10(他不叫RAID10 而是RAID 1 0 因为他是由RAID1和RAID0组成的)
速度提升两倍,数据安全性也是提升两倍。成本增加了。
为了更安全来一个热备盘。
部署磁盘阵列
我们添加4个新的硬盘
mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。
参数 | 作用 |
-a | 检测设备名称 |
-n | 指定设备数量 |
-l | 指定RAID级别 |
-C | 创建 |
-v | 显示过程 |
-f | 模拟设备损坏 |
-r | 移除设备 |
-Q | 查看摘要信息 |
-D | 查看详细信息 |
-S | 停止RAID磁盘阵列 |
我们创建一个磁盘阵列组。用mdadm
-C是创建v是显示过程,/dev/mdo是设备名称,我们统一管理叫md0合并之后的名字 -n 是我们用几块盘,-l是级别我们是10 后面是我们的设备名称,我们用通配符来写[b-e]
然后我们用mdadm -Q /dev/md0查看发现他的大小是39.97GIB,级别为10,设备是由4个盘组成出来,0个备份盘然后他提醒我们可以使用mdadm --detail....查看详细信息。我们这里用mdadm -D /dev/md0 来查看。
我们看到里面有4块盘,sdb/c/d/e 而且处于初始化的状态。已经初始化完成。
然后我们用mkfs.xfs /dev/md0来进行格式化
然后我们mkdir /lala创建一个啦啦的目录
然后我们用mount命令将磁盘挂载到lala目录下
然后我们用df -h 查看挂载信息,发现他会显示/dev/md0的磁盘大小为40G挂载到了/lala目录
别以为这样就完了,千万别忘了我们要将他写入到/etc/fstab文件中才能永久生效,不然重启之后就会变回去。
好,我们用vim /etc/fstab
然后我们重启设备在df -h 进行查看
接下来我们进行破坏
我们先进入lala子目录,然后从其他地方复制过来一些文件。
然后我们把第四块硬盘移除了,将相当于服务器上把硬盘拔了。
这时候会提醒我们有一块硬盘损坏了,我们点进去查看详情
他会提醒我们两个硬盘丢失掉了,并且正在进行数据的同步。
然后我们再用mdadm -D /dev/md0查看,
他会告诉我们果然有两个硬盘损坏了,并且是离线状态。
然后我们再将他添加回去,或者插回去。
然后我们给他移除
然后我们mdadm -D /dev/md0查看一下
看到已经显示移除了
然后我们添加或者插进去之后查看一下,他又出现了SDC和SDD。这里建议最好重启一下或者说如果插上去之后还是显示没有的话就重启一下。
然后我们给他用个-a参数,加进去一个sdc /sdd,然后我们mdadm -D /dev/md0查看
并且我们可以看到他已经在做数据同步了
下面我们看一下热备
再复习一下,-C就是创建的意思,-v就是显示创建过程,然后加上创建的RAID的名称/dev/md0 ,然后-n 3是表示这个RAID是y由3块盘组成,-l 5是说他的级别是5,也就是RAID5 。-x 1是说其中的一个盘作为备份盘的意思也就是作为热备份盘符。然后dev目录里的sdb sdc sdd sde .我们用通配符表示就是[b-e]。
然后我们用mdadm -D /dev/md0查看状态。发现已经有了,已经初始化完毕,而且第四块盘他是一个spare也就是空闲状态。
然后我们mkfs.ext4 /dev/md0 来给这个md0进行格式化
接下来创建个目录(随便创建)
mkdri /xiaoliu
然后我们mount 将md0挂载到xiaoliu目录下,df -h查看
别忘了写入文件,vim /etc/fstab
然后我们还是给他复制一些文件到里面。
然后我们马上移除一块盘。
过段时间后他会提醒我们一块盘坏了。
然后我们用mdadm -D /dev/md0查看会发现他已经在自己备份了。备份了93了已经。很快。或者从刚才报错的图形界面也可以看到。是不是很安全啊,但是我们要记住备份盘只要你不出问题的话,他就是个闲盘。钱多了可以用多块备份盘。
还有热备盘在损坏之后,在损坏的盘恢复后数据会清空,以便下次去使用。
LVM逻辑卷管理器
目的是让用户灵活的变更分区的大小
PV物理卷。(资源)
VG卷组。(揉在一起)
LV逻辑的卷(切)
常用的LVM部署命令
功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
扩展 | vgextend | lvextend | |
缩小 | vgreduce | lvreduce |
分为3个步骤,1是pv 2是vg 3是lv。
下面实验先增加两块盘,几块都行,
先pvcreate 创建
然后我们vgcreate 创建卷组,
名称为juanzu,物理盘是sdb sdc
然后我们用vgdisplay 查看卷组详情
可以看到已经有了,大小为40GB
然后我们进行切割用lvcreate
其中haha是我们给逻辑卷起的名字。两个参数。-l 是 pe个数,-L 是pe大小(pe是最小硬盘的单位,4的倍数)juanzu是我们给卷组气的名称。这里我们l代表pe个数,我们给他个,每个4M,也就是100 x 4M = 400M
(在/dev/卷组名称里面会有一个逻辑卷的名称。也就是/dev/juanzu/haha)
接下来我们格式化一下他
这里一定要记着格式化命令,mkfs.ext4 格式化的逻辑卷轴路径(我们这里格式的事ext4格式,你也可以换其他的)
然后创建个随便的文件夹,mount给他挂载上去。df -h查看
我们看到已经成功,大小为380M(创建的400M,但是这个是有点出入的,不可能一样的)
然后vim /etc/fstab 编辑到文件中,以防重启之后失效。
然后我们重启,df -h查看
接下来我们umount 给他卸载掉。然后给他进行扩容
-L是大小,上面说过了。lvextend就是扩容的命令
然后我们e2fsck -f 路径 查看他有没有损坏,没报错说明没损坏。
然后我们告诉系统我们要进行扩展,,发现报错了,让我们检查一下,也及时e2fsck -f 上面说道的,还是不行,别慌,我们重启一下就好了。
重启完之后还要卸载一下的啊,然后我们rezize2fs /dev/juanzu/haha看出来成功了。
然后我们进行挂载。
我们再复习一下mount 的参数吧,就是挂载的参数,-a很厉害,挂载所有。
参数 | 作用 |
-a | 挂载所有在/etc/fstab中定义的文件系统 |
-t | 指定文件系统的类型 |
接下来我们来压缩一下。
老样子,先卸载umount /dev/juanzu/haha
然后e2fsck -f 检查一下有没有报错损坏
然后我们给他缩小到300M
然后用lvreduce -L 300 /dev/juanzu/haha 给他缩小到300M,他会告诉我们这会很危险,我们y继续。
然后挂载mount -a 然后df -h查看。
看到已经缩小了。
接下来看一下快照
我们先进入laoji这个目录,看到里面没有文件,然后我们给他随便复制进去一些文件,
然后返回根目录用lvcreate 创建个快照,其中-s就是快照的意思。-n 是快照名称,我们起一个xiaomei。
然后我们lvdisplay看一下快照卷
还看到for haha说这个快照卷来自haha逻辑卷
然后我们再进入laoji目录,将里面文件都删除掉
发现里面已经空了
接下来我们用快照来恢复我们的文件系统。
先umount /laoji卸载掉我们文件系统
然后我们用lvconvert --merge /dev/juanzu/xiaomei 来恢复。
提示我们已经成功了,我们看一下
然后我们继续挂载一下所有目录,df -h 查看一下会发现已经挂载到我们laoji的子目录里面了,我们看一下,刚才不是都删除了么,现在看一下恢复回来没有。
回来了。
注意事项:
1.快照卷容量必须等于对象逻辑卷
2.快照卷是一次性的,放你恢复之后他就会消失。为了系统资源更好的利用
但是我过我们不想用LVM怎么办,下面我告诉你们怎么卸载掉。
首先卸载掉逻辑卷,然后我们将etc/fstab目录里面我们加进去的删除掉。
然后我们lvremove 将他移除掉。这是第一步
第二部我们rgremove掉juanzu
最后我们pvremove掉sdb和sdc。和安装正好相反。
Linux新手随手笔记1.6的更多相关文章
- Linux新手随手笔记1.8
配置网卡服务 将网卡的配置文件,保存成模板,叫做会话. nmcli命令查看网卡信息.nmcli是一款基于命令行的网络配置工具 只有一个网卡信息,下面我们再添加一个. 公司:静态IP地址 家庭:DHCP ...
- Linux新手随手笔记1.7
配置网卡(本地电脑) Vment1 仅主机模式 Vment8 nat模式 物理机 : 192.16810.1 /255.255.255.0 服务器 : 192.168.10.10 /255. ...
- Linux新手随手笔记1.5
FHS Linux / 代表根目录 /root 管理员的家目录 /boot 启动引导文件,以及开机菜单都会保存在里面 /bin 保存我们系统中命令的目录,不止bin,只要带bin的比如sb ...
- Linux新手随手笔记1.4
计划任务服务程序 计划任务 at 命令 一次性的 crond 服务 周期性的 23:29执行reboot命令(重启服务器) at -l 查看当前的计划任务 at ...
- Linux新手随手笔记1.3
shell脚本的编写(划重点) #!/bin/bash 脚本的声明信息 #sjsjdhsjdhh 脚本的注释 ls -l ...
- Linux新手随手笔记1.2
重定向 输入重定向:将命令输出结果写入一个文件或将一个文件内容导回到命令里面的这个过程叫做重定向 :标准(>) 输出重定向 :覆盖写入清空写入(>)/追加写入(>>) :错 ...
- Linux新手随手笔记1.1
ifconfig 查询网卡信息 分别是网卡名称,物理IP地址,MAC地址,RX收到数据包大小,TX发送数据包大小 # uname # uname -a 查看内核版本号 # hostname 查看主 ...
- Linux新手随手笔记1.9-使用Apache搭建网站
搭建网站 网站服务:让用户能够通过浏览器访问到的服务器上的文档资源. 对比Windows 和Linux部署服务方法对比 Windows:IIS Linux :Apache ,nginx Ap ...
- Linux新手随手笔记
RPM通过将安装规则与源代码打包到一起,来降低软件的安装难度 yum 通过将大量的常用RPM软件存放在一起,解决软件包之间的依赖关系,进一步降低软件的安装难度 rhel 5\6 init rhel 7 ...
随机推荐
- Arduino入门笔记(5):1602液晶实验(实现时钟)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- 中国四大骨干网与十大ISP服务商
1.骨干网 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网.这些骨干网是国家批准的可以直接和国外连接的互联网.其他有 ...
- ASP.NET Aries 高级开发教程:Excel导入之单表配置(上)
前言: 随着ASP.NET Aries的普及,刚好也有点闲空,赶紧把Excel导入功能的教程补上. Excel导入功能,分为四篇:单表配置(上).多表高级配置(中).配置规则(下).代码编写(番外篇) ...
- python实现列表的排序
群里有同行遇到这样一个面试题:有一个整数构成的列表,需要给这个列表进行从小到大存入到另一个列表中. 本身排序可以用python的内置函数sort和sorted,但题目的要求是手动实现. 看起来很简单, ...
- SignalR使用笔记
最近项目要求添加一个给用户发送消息的功能,就决定使用SignalR.翻到了以前学习SignalR的学习笔记,基本是官方文档的简版整理,便于快速阅览和实现. 1. nuget添加signalr引用: a ...
- Identity Server 4 - Hybrid Flow - 保护API资源
这个系列文章介绍的是Identity Server 4 的 Hybrid Flow, 前两篇文章介绍了如何保护MVC客户端, 本文介绍如何保护API资源. 保护MVC客户端的文章: https://w ...
- Django+xadmin打造在线教育平台(一)
目录 在线教育平台(一) 在线教育平台(二) 在线教育平台(三) 在线教育平台(四) 在线教育平台(五) 在线教育平台(六) 在线教育平台(七) 在线教育平台( ...
- Python+requests+unittest+excel实现接口自动化测试框架
一.框架结构: 工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class ...
- Python--开发简单爬虫
简单爬虫架构 动态运行流程 URL管理器的作用 URL管理器的3种实现方式 网页下载器的作用 Python网页下载器的种类 urllib2下载网页的3种方法 网页解析器的作用 Python的几种网页解 ...
- springboot~@Valid注解对嵌套类型的校验
@Valid注解可以实现数据的验证,你可以定义实体,在实体的属性上添加校验规则,而在API接收数据时添加@valid关键字,这时你的实体将会开启一个校验的功能,具体的代码如下,是最基本的应用: 实体: ...