移动设备和raid初步

1.使用光盘

手工挂载

mount /dev/cdrom /mnt/

操作光盘

eject #弹出光盘
eject -t #弹入光盘

创建ISO文件

cp /dev/cdrom /root/centos.iso
mkisofs  -r  -o /root/etc.iso /etc  #来自于genisoimage包

刻录光盘

wodim -v -eject centos.iso

 

2.文件系统空间实际真正占用等信息的查看工具 df

df [OPTION]... [FILE]...

常用选项

-H 以10为单位
-T 文件系统类型
-h human-readable
-i inodes instead of blocks
-P 以Posix兼容的格式输出

范例:

[root@centos8 ~]#df -Th
Filesystem     Type     Size Used Avail Use% Mounted on
devtmpfs       devtmpfs 887M     0 887M   0% /dev
tmpfs         tmpfs     903M     0 903M   0% /dev/shm
tmpfs         tmpfs     903M  8.7M 894M   1% /run
tmpfs         tmpfs     903M     0 903M   0% /sys/fs/cgroup
/dev/sda2     xfs       100G  2.7G   98G   3% /
/dev/sda3     xfs       50G  1.4G   49G   3% /data
/dev/sda1     ext4     976M 128M 781M  15% /boot
tmpfs         tmpfs     181M     0 181M   0% /run/user/0
[root@centos8 ~]#lsblk -f
NAME   FSTYPE LABEL                     UUID                                
MOUNTPOINT
sda                                                                            
├─sda1 ext4                               5c2216e3-ae34-444e-aa60-83cbaebb47e7
/boot
├─sda2 xfs                               f7f53add-b184-4ddc-8d2c-5263b84d1e15 /
├─sda3 xfs                               9a2293a8-9277-4b18-bae1-498e0b9da145
/data
├─sda4                                                                        
├─sda5 swap                               eebe3bc7-6d52-4ad9-86aa-916f1a123fd4
[SWAP]
└─sda6                                                                        
sdb     
└─sdb1 ext4   /data/mysql               cb7cae1e-d227-4f64-872b-cd6cce20c911
sdc   swap                               a3dc8863-b7a6-462b-a8e5-72d034a442de
sr0   iso9660 CentOS-8-1-1911-x86_64-dvd 2020-01-03-21-42-40-00

范例:

[root@rhel5 ~]# df
Filesystem           1K-blocks     Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      99415464   2084776  92199220   3% /
/dev/sda1               101086     12056     83811  13% /boot
tmpfs                   517536         0    517536   0% /dev/shm
[root@rhel5 ~]# df -P
Filesystem         1024-blocks     Used Available Capacity Mounted on
/dev/mapper/VolGroup00-LogVol00  99415464   2084776  92199220       3% /
/dev/sda1               101086     12056     83811      13% /boot
tmpfs  

 

3.查看某目录总体空间实际占用状态 du

显示指定目录下面各个子目录的大小,单位为KB

du [OPTION]... DIR

常用选项

-h human-readable
-s   summary  
--max-depth=#   指定最大目录层级
-x, --one-file-system   #忽略不在同一个文件系统的目录

范例:

[root@centos8 ~]#du -sh /*
0 /bin
116M /boot
4.0K /data
0 /dev
22M /etc
24K /home
0 /lib
0 /lib64
0 /media
0 /misc
0 /mnt
0 /net
12K /opt
du: cannot access '/proc/1529/task/1529/fd/4': No such file or directory
du: cannot access '/proc/1529/task/1529/fdinfo/4': No such file or directory
du: cannot access '/proc/1529/fd/4': No such file or directory
du: cannot access '/proc/1529/fdinfo/4': No such file or directory
0 /proc
197M /root
13M /run 0 /sbin 0 /srv 0 /sys 0 /tmp 1.7G /usr 138M /var

范例:

[root@centos8 ~]#du -h -x --max-depth=1 /
22M ./etc
197M ./root
138M ./var
1.7G ./usr
24K ./home
0 ./media
0 ./mnt
12K ./opt
0 ./srv
0 ./tmp
2.1G .

 

3.大厂面试题: df 和 du 区别,什么时候df >du 什么时候df < du

df:查看文件系统空间占用的大小
du:查看目录总体空间占用的大小
目录内挂载有其它分区时的情况
当删除文件但不释放空间时,有什么不同?(du 查看文件空间释放,df不释放)

 

4.工具 dd

dd 命令:convert and copy a file

格式:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=# count=#

常用选项

if=file 从所命名文件读取而不是从标准输入
of=file 写到所命名的文件而不是到标准输出
ibs=size   一次读size个byte
obs=size       一次写size个byte
bs=size block size, 指定块大小(既是是ibs也是obs)
cbs=size       一次转化size个byte
skip=blocks   从开头忽略blocks个ibs大小的块
seek=blocks   从开头忽略blocks个obs大小的块
count=n         复制n个bs
conv=conversion[,conversion...] 用指定的参数转换文件
conversion 转换参数:
ascii 转换 EBCDIC 为 ASCII
ebcdic 转换 ASCII 为 EBCDIC
lcase 把大写字符转换为小写字符
ucase 把小写字符转换为大写字符
nocreat 不创建输出文件
noerror 出错时不停止
notrunc 不截短输出文件
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
fdatasync 写完成前,物理写入输出文件

范例:

[root@centos8 ~]#cat f1.txt;
abcdef
[root@centos8 ~]#cat f2.txt
123456789
[root@centos8 ~]#dd if=f1.txt of=f2.txt bs=1 count=2 skip=3 seek=4  
2+0 records in
2+0 records out
2 bytes copied, 6.6515e-05 s, 30.1 kB/s
[root@centos8 ~]#cat f2.txt
1234de[root@centos8 ~]#echo 123456789 > f2.txt
[root@centos8 ~]#cat f2.txt
123456789
[root@centos8 ~]#cat f1.txt
abcdef
[root@centos8 ~]#cat f1.txt; cat f2.txt
abcdef
123456789
[root@centos8 ~]#dd if=f1.txt of=f2.txt bs=1 count=2 skip=3 seek=4 conv=notrunc
2+0 records in
2+0 records out
2 bytes copied, 7.6153e-05 s, 26.3 kB/s
[root@centos8 ~]#cat f2.txt
1234de789

范例:

#备份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
#有一个大与2K的二进制文件fileA。现在想从第64个字节位置开始读取,需要读取的大小是128Byts。又有
fileB, 想把上面读取到的128Bytes写到第32个字节开始的位置,替换128Bytes,实现如下
dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
#将本地的/dev/sdx整盘备份到/dev/sdy
dd if=/dev/sdx of=/dev/sdy
#将/dev/sdx全盘数据备份到指定路径的image文件
dd if=/dev/sdx of=/path/to/image
#备份/dev/sdx全盘数据,并利用gzip压缩,保存到指定路径
dd if=/dev/sdx | gzip >/path/to/image.gz
#将备份文件恢复到指定盘
dd if=/path/to/image of=/dev/sdx
#将压缩的备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx
#将内存里的数据拷贝到root目录下的mem.bin文件
dd if=/dev/mem of=/root/mem.bin bs=1024
#拷贝光盘数据到root文件夹下,并保存为cdrom.iso文件
dd if=/dev/cdrom of=/root/cdrom.iso

#销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1
#通过比较dd指令输出中命令的执行时间,即可确定系统最佳的block size大小
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
dd if=/dev/zero of=/root/1Gb.file bs=2048 count=500000  
dd if=/dev/zero of=/root/1Gb.file bs=4096 count=250000
#测试硬盘写速度
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
#测试硬盘读速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null

 

5.1)什么是RAID

独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列 (Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起 来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。

RAID 层级不同,数据会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字,例 如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每种等级 都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器 (群)读写性能。

简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。 RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID 功能更加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作,如: 视频与音频制作。

2)RAID功能实现

提高IO能力,磁盘并行读写
提高耐用性,磁盘冗余算法来实现

3)RAID实现的方式

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:通过OS实现,比如:群晖的NAS

 

上一篇:Redis从入门到精通-应用问题解决-缓存击穿


下一篇:逻辑卷扩容和缩容及快照管理