磁盘类型和结构
1.磁盘设备的设备文件命名:
/dev/DEV_FILE
/dev/sdX # SAS,SATA,SCSI,IDE,USB
/dev/nvme0n# #nvme协议硬盘,如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2
2.虚拟磁盘:
/dev/vd
/dev/xvd
3.让内核识别新增硬盘:
echo '- - -' > /sys/class/scsi-host/host0/scan ; echo '- - -' > /sys/class/scsi-host/host1/scan ; echo '- - -' > /sys/class/scsi-host/host2/scan
然后用lsblk查看:
4.1)查看硬盘属性信息:
发现在原字节数的地方变成了“8,0”类似的信息,这个信息是:第一个数字表示的是设备的类型,第二个表示属于这个类的第几个设备。
2)这种文件不要用传统的方式拷贝,比如用 cp /dev/sda1 /data ,发现竟然一直在执行,那就赶紧停下来。再用 ll /data/sda1 你会发现拷过来的和原来的文件属性都不一样了,所以,你要cp的话,就加-a选项。
5.1)我们现在看到的是b开头的块文件,事实上,再dev下除了块文件还有别的文件,比如:
这个文件就是以c开头的,c是字符设备,和b都是设备。
2)字符设备和块设备的工作逻辑区别:块设备它的数据访问单位是一块一块为单位的,比如说硬盘是块设备,硬盘它读和写的时候,都是一块一块的;而字符设备则是以字符为单位,一个字符一字符的读和写。块设备通常有缓存;字符设备没缓存。我们这个地方的字符设备,它编号"1,3"再加上c,实际上就可以通过3个不同的设备的属性可以唯一标识一个设备了,所以我们可以通过命令创建这种块设备或者是字符设备文件。
6.创建块设备(和null的类型一样):
有一个命令mknod,这个命令可以创建设备文件的。创建的的时候,我们跟上文件名,再在后面跟上c,然后"1 3"
1和3分别表示1个类型,3个编号
maknod /data/null-device c 1 3
发现我们已经创建出来了,和我们刚才的/dev/null文件的属性是一样的
7.硬盘存储术语 CHS
head:磁头 磁头数=盘面数
track:磁道 磁道=柱面数 sector:扇区,512bytes
cylinder:柱面 1柱面=512 * sector数/track*head数=512*63*255=7.84M
CentOS 5 之前版本 Linux 以柱面的整数倍划分分区,CentOS 6之后可以支持以扇区划分分区
#查看CHS [root@centos6 ~]#fdisk -l /dev/sda Disk /dev/sda: 214.7 GB, 214748364800 bytes 255 heads, 63 sectors/track, 26108 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0006fc79 Device Boot Start End Blocks Id System /dev/sda1 * 1 131 1048576 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 131 12879 102400000 83 Linux /dev/sda3 12879 19253 51200000 83 Linux /dev/sda4 19253 26109 55065600 5 Extended /dev/sda5 19254 19515 2097152 82 Linux swap / Solaris [root@centos8 ~]#fdisk -u=cylinder -l /dev/sda Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors Geometry: 255 heads, 2 sectors/track, 26108 cylinders Units: cylinders of 510 * 512 = 261120 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x59474ddc Device Boot Start End Cylinders Size Id Type /dev/sda1 * 5 4117 4113 1G 83 Linux /dev/sda2 4117 415323 411207 100G 83 Linux /dev/sda3 415323 620926 205604 50G 83 Linux /dev/sda4 620926 822413 201488 49G 5 Extended /dev/sda5 620930 629154 8225 2G 82 Linux swap / Solaris
8.查看设备硬盘是什么硬盘:
lsblk -d -o name,rota
0是固态,1是机械
9.使用磁盘空间分三步:
第一步:设备分区
第二步:创建文件系统
第三步:挂载新的文件系统
2022-2-11 18:51