接上一篇文章http://www.178linux.com/40874
移动介质
挂载意味着 使外来的文件系统看起来如同是主目录树 的 一部分
访问前、介质必须被挂载
摘除时,介质必须被卸载
按照默认设置,非根用户只能挂载某些设备(光盘、DVD、软盘、USB等)
挂载点通常在/media或/mnt下
使用光盘
在图形环境下自动启动挂载/run/media/<user>/<label>
否则就必须被手工挂载
mount /dev/cdrom /mnt/
eject命令卸载或弹出磁盘 eject -t命令安装或弹入光盘
在图形界面下,设置CD/DVD选项,链接使用物理驱动器,然后执行eject命令,光驱会弹出
创建ISO 文件
cp /dev/cdrom /root/centos7.iso 生成的ISO文件,挂载之后可以正常使用
[root@localhost ~]# cp /dev/sr0 /testdir/centos7.iso [root@localhost ~]# file /testdir/centos7.iso /testdir/centos7.iso: # ISO 9660 CD-ROM filesystem data 'CentOS 7 x86_64' (bootable) [root@localhost ~]# mkdir /mnt/iso [root@localhost ~]# mount /testdir/centos7.iso /mnt/iso/ mount: /dev/loop1 is write-protected, mounting read-only
mkisofs -r -o /root/etc.iso /etc 把etc目录打包成ISO文件 挂载之后就可以使用了 跟上面的步骤一致
刻录光盘
wodim –v –eject centos.iso
挂载USB介质
被内核探测为SCSI 设备
• /dev/sdaX 、/dev/sdbX 、或类似的设备文件
在图形环境中自动挂载
• 图标在[ 计算机] 窗口中创建
• 挂载在/run/media/<user>/<label>
• 手动挂载
• mount /dev/sdb1 /mnt
常见工具
内存空间使用状态:
free [OPTION]
-m: 以MB 为单位
-g: 以GB 为单位
文件系统空间占用等信息的查看工具:
df [OPTION]… [FILE]…
-H 以1000为单位
-T 文件系统类型
-h: human-readable
-i :inodes instead of blocks
-P: 以Posix 兼容的格式输出
查看某目录总体空间占用状态:
du [OPTION]… DIR
-h: human-readable
-s: summary
工具dd
dd 命令:convert and copy a file
用法:
dd if =/PATH/FROM/SRC of=/PATH/TO/DEST
bs=# :block size, 复制单元大小
count=# :复制多少个bs
of=file 写到所命名的文件而不是到标准输出
if=file 从所命名文件读取而不是从标准输入
bs=size 指定块大小(既是是ibs 也是obs)
ibs=size 一次读size 个byte
obs=size 一次写size 个byte
cbs=size 一次转化size 个byte
skip=blocks 从开头忽略blocks 个ibs 大小的块
seek=blocks 从开头忽略blocks 个obs 大小的块
count=n 只拷贝n 个记录
conv=conversion[,conversion…] 用指定的参数转换文件。
转换参数:
ascii 换 转换 EBCDIC 为 为 ASCII
ebcdic 换 转换 ASCII 为 为 EBCDIC
block 转换为长度为 cbs 的记录,不足部分用空格填充。
unblock 替代cbs 长度的每一行尾的空格为 新 行
lcase 把大写字符转换为 小写 字符
ucase 把小写字符转换为 大写 字符
swab 交换输入的每对字节。
noerror 出错时 不 停止
notrunc 不截短输出文件。
sync 把每个输入块填充到ibs 个字节,不足部分用空(NUL) 字符补齐
磁盘拷贝:
dd if=/dev/sda of=/dev/sdb
备份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破坏MBR 中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
有二进制文件fileA,size>2K 。现在想从第64个字节位置开始读取,需要读取的大小是128Byts 。又有fileB,想把上面读取到的128Bytes写到第32 个字节开始的位置,替换128Bytes ,请问如何实现?
#dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31conv=notrunc
备份:
dd if=/dev/sdx of=/dev/sdy
将本地的/dev/sdx 整盘备份到/dev/sdy
dd if=/dev/sdx of=/path/to/image
将/dev/sdx 全盘数据备份到指定路径的image 文件
dd if=/dev/sdx | gzip >/path/to/image.gz
备份/dev/sdx 全盘数据,并利用gzip 工具进行压缩,保存到指定路径
恢复:
dd if=/path/to/image of=/dev/sdx
将备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx
将压缩的备份文件恢复到指定盘
拷贝内存资料到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024
将内存里的数据拷贝到root 目录下的mem.bin 文件
从光盘拷贝iso 镜像
dd if=/dev/cdrom of=/root/cd.iso
拷贝光盘数据到root 文件夹下,并保存为cd.iso 文件
销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/sda1 将无法挂载,创建和拷贝操作无法执行。
得到最恰当的block size
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
通过比较dd 指令输出中所显示的命令执行时间,即可确定系统最佳的block size 大小
测试硬盘读写速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度
修复硬盘
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1 ,2 年)放置不使用后,磁盘上会产生消磁点。当磁头读到这些区域时会遇到困难,并可能导致I/O 错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
高级文件系统管理
配置配额系统
综述
• 在内核中执行
• 以文件系统为单位启用
• 对不同组或者用户的策略不同
根据块或者节点进行限制
• 执行软限制(soft limit)
• 硬限制(hard limit)
初始化
• 分区挂载选项:usrquota 、grpquota
• 初始化数据库:quotacheck
为用户设定配额
执行
• 开启或者取消配额:quotaon 、quotaoff
• 直接编辑配额:edquota username
• 在shell 中直接编辑:
setquota usename 4096 5120 40 50 /foo
• 定义原始标准用户
edquota -p user1 user2
报告配额状态
报告
• 用户调查:quota
• 配额概述:repquota
• 其它工具:warnquota
什么是RAID
RAID:Redundant Arrays of Inexpensive(Independent)Disks
1988 年由加利福尼亚大学伯克利分校(University of California-Berkeley)“A Case for Redundant Arrays of Inexpensive Disks”。
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
RAID
提高IO 能力:
磁盘并行读写
提高耐用性;
磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID :主板集成RAID控制器
安装OS 前在BIOS里配置
软件RAID:通过OS实现
RAID的级别
RAID-0:条带卷,strip
RAID-1: 镜像卷,mirror
RAID-2
……
RAID-5
RAID-6
RAID-10
RAID-01
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,…)
无容错能力
最少磁盘数:2, 2
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,…)
常用级别:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD
软RAID
mdadm :为软RAID 提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID 设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3
软RAID的实现
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
软RAI配置示例
使用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
软RAID 测试和修复
模拟磁盘故障
#mdadm /dev/md0 -f /dev/sda1
移除磁盘
#mdadm /dev/md0 –r /dev/sda1
从软件RAID 磁盘修复磁盘故障
• 替换出故障的磁盘然后开机
• 在备用驱动器上重建分区
• #mdadm /dev/md0 -a /dev/sda1
mdadm 、/proc/mdstat 及系统日志信息
软RAID 管理
生成配置文件: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
小练习:创建一个可用空间为1G 的RAID1 设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup
先创建三个分区大小都为10G的分区,然后把硬盘类型改为raid mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 -c 128K /dev/sdc{1,2} /dev/sdb2 #创建raid1 一个备用盘,块大小128k mdadm -D /dev/md0 #显示raid的详细信息 cat /proc/mdstat #查看raid组创建的信息 mkfs.ext4 /dev/md0 #格式化raid组md0磁盘 mkdir /backup #创建一个文件夹 vim /etc/fstab #将挂载的信息写到配置文件中 UUID=bd0df058-4d13-40cf-b635-cb7390e7ba25 /backup ext4 defaults 0 0 mount -a #重新读取配置文件,是配置生效 mdadm -Ds /dev/md0 > /etc/mdadm.conf #保存配置文件
一些相关命令的总结:
raid5实现
1、fdisk /dev/sdb
/dev/sdb1
dd if=/dev/sdb of=/dev/sdd bs=1 count=512
2、mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1 创建raid
3、mkfs.ext4 /dev/md0
4、vim /etc/fstab
/dev/md0 /mnt/raid ext4 defaults 00
5、mount -a
6、mdadm -D /dev/md0 查看状态
cat /proc/mdstat
7、mdadm /dev/md0 -f /dev/sdb1 模拟失败
8、mdadm /dev/md0 -r /dev/sdb1 删除成员
9、mdadm /dev/md0 -a /dev/sdb1 添加成员
10、mdadm -Ds /dev/md0 > /etc/mdadm.conf
11、umount /dev/md0;mdadm -S /dev/md0
清除raid
1、umount /dev/md0;mdadm -S /dev/md0
2、mdadm –zero-superblock /dev/sdx 清除成员raid信息
3、fdisk /dev/sdx 删除成员分区
4、vim /etc/fstab
5、rm /etc/mdadm.conf
原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/42885