目录
前言
管理磁盘是管理员的重要工作内容之一,本文将从磁盘的分区和格式化操作等方面,学习在Linux系统中的磁盘和管理技术。
一.磁盘基础
1.1磁盘结构
硬盘的物理结构:盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
硬盘的数据结构:扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型:IDE、SATA、SCSI、SAS、光纤通道
1.2MBR与磁盘分区表示
主引导记录(MBR: Master Boot Record):
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
MBR总共512字节, 前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节
主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩"展分区里面分多个逻辑分区)。
Linux中将硬盘、分区等设备均表示为文件
sd表示SCSI设备
hd表示IDE设备
硬盘的顺序号,以字母a、b、....表示
分区的顺序号,以数字1、2、...示。主分区从1-4, 第一个逻辑分区始终从5开始。
1.3磁盘分区结构
硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1~ 4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
1.4文件系统类型
XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。由于 XFS 文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复
SWAP:交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。例如,对于拥有 512MB物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。
EXT4:第 4 代扩展文件系统,用于存放文件和目录数据的分区,是 Linux 系统中默认使用的文件系统(CentOS 7 默认使用 XFS)。EXT4 是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。
Linux 系统还广泛支持其他各种类型的文件系统:如 JFS、FAT16、FAT32、NTFS 等。JFS 文件系统多用于商业版本的 UNIX 操作系统中,具有出色的性能表现。由于 NTFS 是微软公司的专有文件系统,Linux 系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS 分区中写入文件数据,需要结合其他辅助软件(如 NTFS-3G)
二.检测并确认新硬盘,规划硬盘中的分区(fdisk)
2.1检测并确认新硬盘
fdisk命令:
查看或管理磁盘分区
fdisk | -l | 【磁盘设备】 |
或者
fdisk | 【磁盘设备】 |
fdisk -l 查看硬盘的整体情况和分区情况:
Device:分区的设备文件名称。
Boot:是否是引导分区。若是,则有“*”标识。
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM 逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。
System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在 Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。
交互模式中的常用指令:m、p、n、d、t、w、q
fdisk指令说明
Command (m for help): m #输入m指令
a toggle a bootable flag #设置可引导标记
b edit bsd disklabel #修改bsd的磁盘标签
c toggle the dos compatibility flag #设置DOS操作系统兼容标记
d delete a partition #删除一个分区
l list known partition types #显示已知的分区类型,其中82为 Linux swap分区,83为Linux分区
m print this menu #显示帮助菜单
n add a new partition #增加一个新的分区
o create a new empty DOS partition table #创建一个新的空白的DOS分区表
p print the partition table #显示磁盘当前的分区表
q quit without saving changes #退出fdisk程序,不保存任何修改
s create a new empty Sun disklabel #创建一个新的空白的Sun磁盘标签
t change a partition's system id #改变一个分区的系统号码
u change display/entry units #改变显示记录单位
v verify the partition table #对磁盘分区表进行验证
w write table to disk and exit #保存修改结果并退出fdisk程序
x extra functionality (experts only) #特殊功能,不建议初学者使用
2.2规划硬盘中的分区
例:在一个80G的磁盘里划分一个20G的区域
执行“fdisk /dev/sdb”进入新添加磁盘的交互分区管理界面,这里规划磁盘分区;接着,输入交互指令“n”新建分区并回车确认,再次输入指令“q”创建主分区并回车确认,设置第一个分区的编号为1,回车确认;接着是起始扇区默认值即可,回车确认;指定第一个主分区容量为20gb;用同样的方法步骤在输入指令“n”后输入指令“e”创建一个扩展分区编号为2;输入指令“w”保存并退出。
磁盘刚刚创好了并不能使用,需要格式化为XFS文件系统mkfs -t xfs /dev/sdb1
三.创建文件系统(mkfs、mkswap)
mkfs命令:Make Filesystem,创建文件系统(格式化)
mkfs | -t | 文件系统类型 | 分区设备 |
[root@localhost ~]# Is /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.minix
/sbin/mkfs.btrfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.xfs
[root@localhost ~]# mkfs -t xfs ldevlsdb1
创建系统文件(格式化)
mkfs -t xfs /dev/sdb1 和 mkfs.xfs /dev/sdb1
mkswap命令:omake swap,创建交换文件系统
mkswap | 分区设备 |
[root@localhost ~]# mkswap /devlsdb5
[root@localhost ~]# cat/proclmeminfo | grep SwapTotal
SwapTotal:8257532 kB
[root@localhost ~]# swapon /devlsdb5
[root@localhost ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal:10354680 kB
[root@localhost~]# swapoff /devlsdb5
SWAP创建系统文件
mkswap /dev/sdb5
swapon 是开启swap
swapof 是关闭swap
四.挂载、卸载文件系统操作
4.1设置文件系统的自动挂载
/etc/fstab配置文件:
包含需要开机后自动挂载的文件系统记录
4.2mount与umount命令
mount命令:
挂载文件系统、ISO镜像到指定文件夹
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
-o options 主要用来描述设备或档案的挂接方式
loop:用来把一个文件当成硬盘分区挂接上系统
umount命令:
卸载已挂载的文件系统
umount 存储设备位置
umount 挂载点目录
4.3df命令
df作用:命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户
df | 参数 | [options] |
主要参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
总结
本文中我主要介绍的内容可以归纳为三个部分:
①.管理磁盘和分区
②.创建文件系统
③.挂载、卸载文件系统
希望能给朋友们带来帮助。