@mrz1
2017-12-17T09:12:57.000000Z
字数 9434
阅读 775
笔记
mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
mdadm:模式化的工具
命令的语法格式:mdadm[mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
模式:
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意块设备
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小
-x #: 指明空闲盘的个数
-D:显示raid的详细信息;
mdadm -D /dev/md#
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:cat /proc/mdstat
使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系统对每个RAID设备进行格式化
mke2fs -j /dev/md0
测试RAID设备使用mdadm检查RAID设备的状况
mdadm --detail|D /dev/md0
增加新的成员mdadm –G /dev/md0 –n4 -a /dev/sdf1
模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
移除磁盘
mdadm /dev/md0 –r /dev/sda1
从软件RAID磁盘修复磁盘故障
•替换出故障的磁盘然后开机
•在备用驱动器上重建分区
•mdadm /dev/md0 -a /dev/sda1
mdadm、/proc/mdstat及系统日志信息
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停止设备:mdadm –S /dev/md0
激活设备:mdadm –A –s /dev/md0 激活
强制启动:mdadm –R /dev/md0
删除raid信息:mdadm --zero-superblock /dev/sdb1
第一步:创建分区
准备硬盘大小相等
硬盘分区fdist /dev/sda
n +5G 做RAID记得改ID
t 7(7的意思是sda7) L fd
w
dd if=/dev/sda7 of=/dev/sdc bs=q count=512
partx -a /dev/sda ...同步
第二步:创建RAID
mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{a6,b1,c1,d1,e}
-C: 创建模式
-a {yes|no}:自动创建目标RAID设备的设备文件
-l #:指明要创建的RAID的级别
-n #: 使用#个块设备来创建此RAID
-x #: 指明空闲盘的个数
mdadm -D /dev/md0 //查看创建过程状态详细 (五块块硬盘:一个是做校验位了;三块硬盘真正起作用;剩下一块是监控)
cat /proc/mdstat //也可以看RAID
blkid 查看的话 有两个uuid 第一个是raid的总id第二个是子id
mdadm -Ds /dev/md0 > /etc/mdadm.conf //生成这个文件这样开机的话才能找到这个设备
mdadm -S /dev/md0 //禁用这个设备
mdadm -A /dev/md0 //激活这个设备
第二步:创建RAID系统
mkfs.ext4 /dev/md0 //创建系统
vim /etc/fatab 编辑 --->uuid 挂载点 ext4 defaults 0 0
创建挂载点 -->挂载 --> 完成
第三步:模拟损坏
mdadm /dev/md0 -f /dev/sdd1 //模拟sdd1硬盘损坏 这是一旦sdd1损坏,sde硬盘直接接替sdd1继续工作
mdadm /dev/md0 -r /dev/sdd1 //把sdd1硬盘从md0中删除
mdadm /dev/md0 -a /dev/sdd1 //把sdd1硬盘添加到md0中
第四步:物理删除两块硬盘
硬盘分区fdist /dev/sdd
n +5G
t 2(2的意思是sdd2) L fd
w
partx -a /dev/sdd ...同步
mdadm /dev/md0 -a /dev/sdd2 //把sdd2硬盘添加(RAID)到md0中
cat /proc/mdstat //可以查看到正在恢复状态
第五步:扩充空间
硬盘分区fdist /dev/sdd
n +5G
t 3(2的意思是sdd3) L fd
w
partx -a /dev/sdd //添加同步
partx -dd --nr 6 /dev/sda //6是删除sda6
mdadm -G /dev/md0 -n 5 -a /dev/sdd2
resize2f /dev/md0 //同步文件系统只针对ext系列
xfs_growfs /dev/md0 //同步文件系统只针对xfs系列
第六步:删除RAID
取消挂载
删除cat /proc/mdstat //删除RAIDuuid 这一列
mdadm -S /dev/md0 //禁用这个设备
rm -f /etc/mdadm.conf //删除这一文件
mdadm --zero-superblock /dev/sdb1 //删除raid信息只剩分区
raid1 ,md0 md1 md2 mdadm -C/dev/md3 -l 0
2、mdadm -C /dev/md0 -l 10 -n 6 /dev/
)LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量
显示pv信息
pvs:简要pv信息显示
pvdisplay 详细的pv信息
创建pv
pvcreate /dev/DEVICE 创建物理卷
显示卷组
vgs //查看vg信息
vgdisplay //更加详细的vg信息
创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath...]
vgcreate -s 16M vg0 /dev/sd{b1,c} //创建卷组
-s 16M 是以每块16M空间存储数据
管理卷组
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
删除卷组
先做pvmove,再做vgremove
vgrename vg0 newvg0 //修改vg0名称
vgchange -an vg0 //禁用vg0
vgchange -ay vg0 //激活vg0
显示逻辑卷
lvs 显示逻辑卷
lvdisplay 更加详细显示逻辑卷
创建逻辑卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylvtestvg
lvcreate -l 100%FREE -n yourlvtestvg
l 它是PE的个数
L 它是容量
删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
重设文件系统大小
fsadm[options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
扩展逻辑卷:
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
缩减逻辑卷:
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAMEmount
第一步:准备
硬盘分区fdist 两个分区sdb1一个硬盘sdc
t 7(7的意思是sda7) L 8e
w
dd if=/dev/sda7 of=/dev/sdc bs=q count=512
partx -a /dev/sda ...同步
第二步:创建LV
pvs;pvcreate /dev/sd{b1,c} //pvs;可以查看pv的信息;后面是创建物理卷
pvdisplay //更加详细的物理卷信息
vgcreate -s 16M vg0 /dev/sd{b1,c} //创建卷组
-s 16M 是以每块16M空间存储数据
vgs //查看vg信息
vgdisplay //更加详细的vg信息
vgrename vg0 newvg0 //修改vg0名称
vgchange -an vg0 //禁用vg0
vgchange -ay vg0 //激活vg0
lvcreate -n lv0 -L 16G vg0 //制作逻辑卷lv0
-n lv0 起名字lv0
-L 容量16G
lvs 显示逻辑卷
lvdisplay 更加详细显示逻辑卷
lvcreate -n lv1 -l +100%FREE vg0 //制作逻辑卷lv1并把剩下空间全部占用
ll /dev/vg0/lv0 //查看vg0逻辑卷 软连接/dev/vg0/lv0->/dm-0
ll /dev/vg0/lv1 //查看vg0逻辑卷 软连接/dev/vg0/lv1->/dm-1
ll /dev/mapper/vg0-lv0 //查看vg0逻辑卷 软连接/dev/mapper/vg0-lv0->/dm-0
ll /dev/mapper/vg0-lv01 //查看vg0逻辑卷 软连接/dev/mapper/vg0-lv1->/dm-1
之后创建文件系统
mkfs.ext4 /dev/vg0/lv0 //创建文件系统
mkdir /mnt/lv0
mkdir /mnt/lv1
mount /dev/vg0/lv0 /mnt/lv0 //挂载
mount /dev/vg0/lv1 /mnt/lv1 //挂载
要想永久保存 写/etc/fstab文件 uuid 挂载点 文件系统 defaults 0 0
mount -a
df -h 完成
逻辑卷性能提高了不少,没有容错性
第三步:扩展LV
pvcreate /dev/sdb2 //创建物理卷
vgdisplay vg0 //查看vgo的详细信息
pvs;vgextent vg0 /dev/sdb2 //把sdb2加入vg0
pvs //简要pv信息显示
vgs 空间有了就可以添加逻辑卷
lvextend -l +100%FREE /dev/vg0/lv0
lvdisplay
df -h 添加了大小没变 是因为没有文件系统
resize2fs /dev/vg0/lv0 //创建文件系统 extN系列
xfs_growfs /mnt/lv0 //创建文件系统 xfs系列
或者
lvextend -r -l +100%free /dev/vg0/lv0 //一步到位直接生成
第四步:缩减LV
影响用户使用 必须取消挂载 (缩减之前要备份)
umount /mnt/lv0 取消挂载
resize2fs /dev/vg0/lv0 8G 缩减到8G 直接执行会报错
之后再执行 fsck -f /dev/vg0/lv0
在执行resize2fs /dev/vg0/lv0 8G 成功
lvreduce -L 8G /dev/vg0/lv0 缩减逻辑卷
mount -a
第五步:硬盘/dev/sdc快损坏了需要;搬家
vgdisplay //看可用空间,大于pv的空间
pvmove /dev/sdc //搬家(搬家必须有可用空间PE大小不能缩小)
没空间添加硬盘
echo "- - -" > /sys/class/scsi_host/host2/scan //扫描光盘
pvcreate /dev/sdd //创建物理卷
pvs;vgextent vg0 /dev/sdd //把sdd加入vg0
pvs //简要pv信息显示
vgs 空间有了就可以添加逻辑卷
pvmove /dev/sdc //搬家
vgreduce vg0 /dev/sdc //删除sdc 让他不再卷组里面
pvdisplay //可以看到不再卷组里面
pvremove /dev/sdc //删除 之后pv都不是了 硬盘拆除
第五步:迁移LV到新主机
1 确认VG名和目标主机不同
vgrename vg1 vg100 //卷组改名vg100
lvrename /dev/vg100/lv2 lv100 //逻辑卷改名lv100
vgdisplay
pvs //查看几个pv几个卷组
2 umount取消要迁移硬盘的挂载点
3 vgchange –an vg100 //先禁用 vg100
lvdisplay
4 vgexport vg100 //设置为导出状态
vgdisplay //能看到与别的状态不一样 是导出状态
pvdisplay //能看到与别的状态不一样 是导出状态
拆硬盘安装到新的上面
1 pvdisplay //查看可以看到当前状态是导出状态(exported)
2 vgimport vg100 // 导入(导入之前确定vg100 与新机器上没有重名)
pvdisplay //看不到导出状态(exported)
vgdisplay //看不到导出状态(exported)
lvdisplay //查看看到是禁用状态 不可用
3 vgchange -ay vg100 //激活 vg100
lvdisplay //查看看到是可读可写 可以使用
lvs
mkdir /mnt/lv100
4 mount /dev/vg100/lv100 /mnt/lv100 //挂载使用
df -h //查看 (完成)
源计算机上
1 在旧系统中,umount所有卷组上的逻辑卷
2 vgchange –an vg0
lvdisplay
3 vgexport vg0
pvscan
vgdisplay拆下旧硬盘
在目标计算机上
4 在新系统中安装旧硬盘,并vgimport vg0.
5 vgchange–ay vg0
6 mount所有卷组上的逻辑卷
创建物理卷 pvcreate /dev/sda3
为卷组分配物理卷vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data //创建文件系统
mount /dev/vg0/data /mnt/data //挂载
快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
由于快照区与原本的LV共用很多PE的区块,因此快照去与被快照的LV必须在同一个VG.系统恢复的时候的文件数量不能高于快照区的实际容量
为现有逻辑卷创建快照
lvcreate -l 1G -s -n data-snapshot -p r /dev/vg0/data
-n data-snapshot //快照名称
-l 1G //大小
-s 表示这是一个快照不是一般的逻辑卷
-p r //防止误删除 添加只读属性
lvs //看到快照属性与别的不一样
lvdisplay //查看详细信息 /dev/vg0/lv0-snapshot
ll /dev/vg0/lv0-snapshot //也是个软连接 dm-4
挂载快照
mkdir -p /mnt/snap //-p递归创建
mount /dev/vg0/data-snapshot /mnt/snap //(centos7里面这条命令挂载不上去)
df -h //查看大小相同 感觉什么都一样(快照)
lvs //可以看到真实大小(lvdisplay)
恢复快照
查看快照里面,看到的是所有的数据都在 其实是只有修改过的文件,(如果别的文件不在感觉不像是快照)(查看没修改过的文件,里面内容也有东西。是因为快照里的文件路径其实是源文件的路径)
umount /dev/vg0/data-snapshot //取消挂载
umount /dev/vg0/data //取消挂载
lvconvert --merge /dev/vg0/data-snapshot //把快照里面的数据还原到原来的数据 (快照自动删除了)
删除快照
umount /mnt/databackup //取消挂载
lvremove /dev/vg0/databackup
快照存在的情况下 把逻辑卷删除 快照就没什么意义,所以会提醒你先删除快照再删除逻辑卷
Web 浏览器(Chrome、IE、Firefox等)
即时消息(QQ、微信、钉钉等)
电子邮件(Outlook、foxmail 等)
协作(视频会议、VNC、Netmeeting、WebEx 等)
web网络服务(apache,nginx,IIS)
文件网络服务(ftp,nfs,samba)
数据库服务(MySQL,MariaDB, MongoDB)
中间件服务(Tomcat,JBoss)
安全服务(Netfilter)
速度
成本
安全性
可用性
可扩展性
可靠性
拓扑
正常时长/(总时间=正常+异常)年99.999%
物理拓扑描述了物理设备的布线方式
逻辑拓扑描述了信息在网络中流动的方式
hub集线器 switch交换机 router 路由器 firewall 硬件防火墙
总线拓扑:所有设备均可接收信号 发生故障就瘫痪
星型拓扑:通过中心点传输 单一故障点(single point of failure简称SPOF)
扩展星型拓扑:比星型拓扑的复原能力更强
环拓扑:信号绕环传输 单一故障点
双环拓扑:信号沿相反方向传输 比单环的复原能力更强
全网状拓扑:容错能力强 实施成本高
部分网状拓扑:在容错能力与成本之间寻求平衡
OSI 网络标准协议,开放系统互联, 国际标准,国家标准,行业标准,事实标准(wifi、wapi、wlan)
ISO 国际标准化组织 tcp/ip(.iso)
IOS
层 | 简介 | 说明 |
---|---|---|
7 应用层 application | 网络进程访问应用层 | 为应用程序提供网络服务 提供用户身份认证 |
6 表示层 presention | 数据表示 | 确保接收系统可以读出该数据 格式化数据 构建数据 协商用于应用层的数据传输 |
5 会话层 session | 主机间的通信 | 建立、管理和终止在应用程序 |
4 传输层 transport | 端到端连接 | 确保数据传输的可靠性 建立、维护和终止虚拟电路 通过错误检测和恢复 信息流控制来保障可靠性 |
3 网络层 network | 数据传输 | 路由数据包 选择传递数据的最佳路径 支持逻辑寻址和路径选择(IP地址 路由) |
2 数据链路层 data link | 访问介质 | 定义如何格式化数据以便进行传输以及如何控制对网络的访问 支持错误检测(定义了物理地址) |
1 物理层 physical | 二进制传输 | 为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范 |
all people seem to need data processing 所有人似乎都需要数据处理。
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的PDU是数据位bit
数据链路层的PDU是数据帧frame
网络层的PDU是数据包packet
传输层的PDU是数据段segment
其他更高层次的PDU是消息message
单播(unicast):一对一
广播(broadcast):讲话
组播(multicast):小组
局域网(Local Area Network)
Computers 电脑
PCs 个人计算机
Servers 服务器
Interconnections
NICs 网卡
Media 媒体
Network devices 网络设备
Hubs 集线器
Switches 开关
Routers 路由器
Protocols 协议
Ethernet 以太网
IP
ARP
DHCP
Fiber-Optic (光纤)
以太网帧最大72(8+6+6+2+46+4)-1526之间(物理地址2^48个)