Linux磁盘管理与文件系统
一、磁盘基础
(一)硬盘物理结构
1.盘片:硬盘有多个盘片,每盘片2面
2.磁头:每面一个磁头
(二)硬盘数据结构
1.扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,是硬盘的最小存储单位
2.磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
3.柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
4.硬盘存储容量=磁头数 X 磁道(柱面)数 X 每道扇区数 X 每扇区字节数(512字节)
5.可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
6.磁盘接口类型:IDE、SATA、SCSI、SAS、光纤通道
- IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA取代
- SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强
- SCSI:小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
- SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
二、MBR与磁盘分区表示
(一)主引导记录
1.主引导记录(MBR:Master Boot Record)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中,分区表有4个分区记录区,每个分区记录区占16字节
- 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区
2.分区表示
3.磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
三、文件系统
1.XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统,特别擅长处理大文件,可支持上百万TB的存储空间
- CentOS 7系统中默认使用的文件系统
2.SWAP交换文件系统
- 为Linux系统建立交换分区
- 一般设置为物理内存的1.5~2倍
3.Linux支持的其他文件系统类型
EXT4、FAT32、NTFS、LVM(逻辑卷,可伸缩的文件系统)
四、检查并确认新硬盘
(一)查看或管理磁盘分区命令 fdisk
1.格式:fdisk -l[磁盘设备]或fdisk [磁盘设备]
- Device(设备):分区的设备文件名称
- Boot:是否是引导分区。若是,则有“*”标识
- Start:该分区在硬盘中的起始位置(柱面数)
- End:该分区在硬盘中的结束位置(柱面数)
- Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节
- Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、82代表SWAP交换文件系统、8e表示LVM逻辑卷
- System:分区类型
(二)管理磁盘分区
1.格式:fdisk /dev/sda
- m:获取帮助菜单
- n:新建分区
- p:查看分区情况
- d:删除分区
- t:变更分区的类型
- w:保存分区操作并退出
- q:不保存分区操作并退出
五、创建分区并挂载
(一)添加新硬盘
1.关闭虚拟机—2.编辑虚拟机设置—3.点击添加,选择硬盘—4.选择类型SCSI(推荐)—5.选择创建新虚拟磁盘—6.选择默认值20G(可以自己随意)—7.指定磁盘文件(默认不做更改)—8.在虚拟机或xshell中输入fdisk -l查看磁盘
添加磁盘成功并可以读取到
(二)创建分区步骤
1.fdisk /dev/sdb
2.n
3.p 主分区、e 扩展分区、l 逻辑分区(这里我们选择创建主分区p)
——>设置分区:1 (范围1-4,如按 Enter 键接受默认值)
——>设置柱面序列:直接按 Enter 键接受默认值
——>设置分区大小:+5G (指定大小为 5GB,如按 Enter 键接受默认值表示所有空间)
——>w保存分区操作并退出
**补充:**变更磁盘的分区设置后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据
partprobe /dev/sdb
3.如果要建立逻辑分区先创建拓展分区—>n—>e,后再创建逻辑分区—>n—>l
4.查看是否创建成功
fdisk -l /dev/sdb
(三)创建文件系统
1.Make Filesystem ,创建文件系统(格式化)
2.格式:mkfs -t 文件系统类型 分区设备 mkfs -t xfs /dev/sdb1(CentOS7默认xfs文件系统类型)
或
mkfs.xfs 分区设备 mkfs.xfs /dev/sdb1
(四)挂载,卸载文件系统
1.—>在根目录下创建data1目录
—>然后将/dev/sdb1挂载到/data1
2.mount命令—挂载到文件系统、ios镜像到指定文件夹
mount [-t 类型] 分区设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
- -t:用于指定文件系统类型,通常可以省略,由系统自动识别
- -o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
3.umount命令—卸载已挂载的文件系统
umount 分区设备 例如:umount /dev/sdb1
或
umount 挂载点目录 umount /data1
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
4.umount -lf 存储设备目录或者挂载点目录 强制卸载挂载设备
(五)查看磁盘挂载情况
1.直接 mount 命令
mount /dev/sdb1 /data1
2.df [选项] (一般使用df -Th)
- -h:显示分区的容量单位,人性化显示大小
- -T:显示文件系统的类型 ,一般与h一起使用
- -i:显示分区的inode号码数量
(六)注意事项:文件的储存
如果将/dev/sdb1风区设备挂载在/home目录下或者其他有文件或子目录下,那么这些子目录和文件将没有(因为使用了不同文件系统和储存磁盘)
提问:在挂载文件系统的目录中创建文件,卸载分区设备后,创建的文件是否还存在? 答:不存在
六、创建swap分区
1.先创建主分区再改变分区类型—>t—>(1-4所要改变的主分区号)—>82
- 创建交换文件系统make swap 命令mkswap :mkswap 分区设备(例如:mkswap /dev/sdb3)
3.启用设备:swapon /dev/sdb3
4.取消:swapoff /dev/sddb3
5.查看信息 - swapon -s 查看每个分区的swap状态信息
- free -m 查看总的swap状态信息
七、设置自动挂载
1.etc/fstab配置文件 在末行加入参数
包含需要开机后自动挂载的文件系统记录
Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。
vim /etc/fstab
/dev/sdb1 /opt xfs defaults 0 0 (挂载分区设备)
/dev/sr0 /mnt iso9660 defaults 0 0 (挂载光盘文件)
:wq
2.—>重启操作系统:reboot或init 6
第1字段:设备名或设备卷标名。
第2字段:文件系统的挂载点目录的位置
第3字段:文件系统类型,如 xfs、swap 等
第4字段:挂载参数,即mount命令“-o”选项后可使用的参数 例如:defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)
第5字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)一般设为1时表示需要,设为0时将被dump 忽略。
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为 1,其他分区设为 2
3.查看设备的序列号UUID和系统文件类型:blkid [设备] (UUID号不会重复)
4.卸载:umount /dev/sdb1
5.重新挂载:mount -a (自动根据/etc/fstab文件重新挂载一遍)