linux磁盘管理
计算机硬盘简介
硬盘是计算机主要存储媒介之一,linux系统中硬件设备相关配置文件存放在/dev下,IDE硬盘接口在Linux中设备名为/dev/hda, SAS,SCSI,SATA硬盘接口在linux中设备名为sda,高效云盘硬盘接口会识别为/dev/vda等
文件存储在硬盘上,硬盘的最小存储单位叫做sector(扇区),每个sector存储512字节,操作系统在读取硬盘的时候,不会逐个sector地去读,这样效率很低,为了提升读取效率,操作系统会一次性连续读取多个sector,即一次性读取多个sector称为一个block(块)
由多个sector组成的block是文件存储的最小单位,block的大小常见有1KB,2KB,4KB,block在linux中长设置为4KB,即连续8个sector组成一个block
一个block只能存放一个文件,如果文件的大小比block大,会申请更多的block,相反如果文件的大小比默认block小,扔会占用一个block,这样剩余的空间就会被浪费
硬盘block及inode
通常而言,操作系统对文件数据的存放包括两部分,一个是文件内容,而是权限及文件属性,操作系统文件存放是基于文件系统,文件系统会将文件的实际内容存储到block中,而将权限与属性等信息存放至inode中
每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码
操作系统进行格式化分区时,会自动将硬盘分成两个区域,一个是数据block区,用于存放文件数据,另一个是inode table区,用于存放inode包含的信息
每个inode节点的大小,可以在格式化的时候指定,默认为128B或256B,/boot分区inode默认为128B,其他分区默认为256B
硬链接介绍
一般情况下,文件名和inode编号是一一对应的关系,每个inode号码对应一个文件名,但是UNIX/linux系统多个文件名也可以指向同一个inode号码,这意味着可以用不同的文件名访问同样的内容,对文件内容进行修改,会影响到所有文件名,但是删除一个文件名,不会影响另一个文件名的访问,这种情况被称之为硬链接(hard link)
创建硬链接
软链接介绍
除了硬链接以外,还有一种链接--------软链接,文件1.txt和2.txt的inode号码虽然不同,但是文件2.txt的内容是文件1.txt的路径,读取2.txt时,系统会自动将访问者导向1.txt文件
无论打开哪个文件最终读取的都是1.txt,这种情况叫做软链接
软链接和硬链接最大的不同是2.txt指向1.txt,而不是1.txt和2.txt的inode相同,因此两个文件的inode不会发生变化
创建软链接:
linux下磁盘实战操作命令
企业真实场景由于硬盘常年大量读写,经常会出现坏盘,需要更换硬盘,或者由于硬盘空间不足,需要添加磁盘,新的磁盘需要格式化,分区才能被linux系统所使用
第一步,虚拟机加入一块硬盘,然后重新扫描SCSI总线来添加设备
[ /]# echo "- - -" > /sys/class/scsi_host/host0/scan [ /]# echo "- - -" > /sys/class/scsi_host/host1/scan [ /]# echo "- - -" > /sys/class/scsi_host/host2/scan
第二部,查看新盘是否识别
第三步,fdisk来分区
查看创建好的分区
第四步,格式化分区
第五步,创建目录,挂载到目录
第六步,添加到fstab中,目的是开启自动挂载
文件系统管理
将额外文件系统与根文件系统某个现有目录建立起联系,进而使得此目录作为其他文件访问的入口的行为称之为挂载
接触此关联关系的过程称之为卸载:
把设备关联挂载点:
mount
卸载时:可以使用设备,也可以使用挂在点
umount
注意:挂在点下原有文件将会被隐藏
挂在方法:
mount DEVICE
常用选项:
-t:vsftype:指定要挂在的设备上的文件系统类型 -r:readonly:只读挂载 -w:read and write:读写挂在 -a:自动挂在所有支持自动挂在的设备(定义再/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
查看内核追踪到的已挂载的所有设备:cat /proc/mounts