linux磁盘分区之格式化为ext4文件系统
一、格式化为ext4文件系统
1.示例
lsblk -f
fdisk /dev/vdb
lsblk -f
mkfs -t ext4 /dev/vdb1
lsblk -f
sudo mkdir -p /data
sudo chmod 777 /data
mount dev/vdb1 /data
blkid /dev/vdb1
vi /etc/fstab
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /data ext4 defaults 0 2
①查看设备的挂载情况
lsblk或 lsblk -f 进行查看
②虚拟机添加硬盘
在 VMware下:虚拟机—>设置—>硬盘—>添加—>下一步(4)—>完成—>重启Linux(reboot进行重启)
③fdisk /dev/sdb
④格式化
mkfs -t ext4 /dev/sdb1
⑤挂载
先创建一个目录 /home/newdisk
sudo mkdir -p /home/newdisk
sudo chmod 777 /home/newdisk
mount 设备名 目录名
sudo mount dev/sdb1 /home/newdisk
注意:挂载时,需要在挂在下执行命令
但是如果重启这种挂载关系就会消失了
⑤设置可以自动挂载(永久挂载,当你重启Linux之后,仍然可以挂载)
永久挂载:通过修改 /etc/fstab 实现挂载
执行如下命令生效,将“/etc/fstab”文件所有内容重新加载:
mount -a
执行如下命令,查询文件系统挂载信息。
mount | grep 挂载目录
如果需要解除挂载:
unmount 设备名
说明:
UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。
步骤 1 执行如下命令,查询磁盘分区的UUID。
blkid 磁盘分区
以查询磁盘分区“/dev/vdb1”的UUID为例:
blkid /dev/vdb1
回显类似如下信息:
[root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID=“0b3040e2-1367-4abb-841d-ddb0b92693df” TYPE=“ext4”
表示“/dev/vdb1”的UUID。
步骤 2 执行以下命令,使用VI编辑器打开“fstab”文件。
vi /etc/fstab
步骤 3 按“i”,进入编辑模式。
步骤 4 将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
步骤 5 按“ESC”后,输入“:wq”,按“Enter”。
保存设置并退出编辑器。
二、基础知识
1.磁盘基础
①磁盘的物理结构
盘片:硬盘有多个盘片,每个盘片有2面
磁头:每面1个磁头
②硬盘的数据结构
扇区:盘片被分成多个扇形区域,每个扇区存放512字节数据。扇区是硬盘最小的存储单元
磁道:同一盘片不同的半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型
③ 磁盘分区结构
硬盘中的主分区数目只有4个
主分区和扩展分区的序列号限制在1-4
扩展分区再分则为逻辑分区
逻辑分区的序号始终从5开始
fdisk -l [磁盘设备] (查看磁盘分区)
2.管理磁盘及分区
①全局唯一标识分区表(GPT:GUID Partition Table)
- GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。
传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。 - 与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区ID (GUID)。
- 若磁盘小于2TB,可用fdisk /dev/sdb 进行分区,即MBR 分区格式
- 若磁盘大于2TB,可用parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT分区格式
②操作步骤
- 选择分区硬盘
首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd: ((parted)表示在parted中输入的命令,其他为自动打印的信息)
#parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
- 创建分区
① 选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息)
② (parted) mklabel
New disk label type? gpt
要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车 - 完成分区操作
创建好分区表以后,就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区的起止位置
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext4
Start? 0
End? 500GB
可以用百分比表示,比如Start? 0% , End? 50%) - 验证分区信息
分好区后可以使用print命令打印分区信息,例如↓↓↓
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1 - 格式化操作,完成后即可挂载使用
mkfs.ext4 /dev/hdd1
mkdir /data
mount /dev/hdd1 /data - 最后加入/etc/fstab自动挂载
vi /etc/fstab
/dev/sdd1 /data ext4 defaults 0 0 - 删除分区
如果分区错了,可以使用rm命令删除分区
(parted) rm 1(rm后面使用分区的号码,就是用print打印出来的Number)
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags - 检测并确认新硬盘fdisk
作用:查看或管理磁盘分区
fdisk -l [磁盘设备]
或者fdisk [磁盘设备]
不带磁盘设备选项则查看所有磁盘
③创建分区步骤
↓
p:主分区;e:扩展分区;l:逻辑分区
↓
设置分区:1(范围1-4,Enter键接收默认值)
↓
设置柱面序列(直接Enter接收默认值)
↓
设置分区大小:+20G("+"指定大小为20GB,直接Enter接收默认值表示所有空间)
↓
w
④创建文件系统
mkfs
Make Filesystem,创建文件系统的过程也是格式化过程
mkfs -t 文件系统类型 分区设备
df -hT 查看当前文件系统类型
mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1
mkswap
make swap (创建交换文件系统)
⑤mkswap 分区设备
主分区和逻辑分区都可用于创建交换分区
创建交换文件系统(swap)之前,目标分区应先通过fdisk工具将分区类型的ID号设为82
fdisk /dev/sdb
↓
t
↓
5
↓
82
↓
w
命令
swapon /dev/sdb2 (启用新增加的交换分区)
swapoff /dev/sdb2 (停用指定的交换分区)
swpon -s (查看每个分区的swap状态信息)
free -m (查看总的swap状态信息)
⑥注意事项
变更硬盘(特别是正在使用的硬盘)的分区设置以后,最好选择将系统重启一次或者执行"partprobe"命令使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据
partprobe /dev/sdb
3.挂载、卸载文件系统
mount
作用:挂载文件系统、IOS镜像到指定文件夹
命令
mount [-t 类型] 存储设备 挂载点目录 (-t:用于指定文件系统类型,可省略)
mount -o loop ISO镜像文件 挂载点目录 (-o:挂载参数列表,以英文逗号分开;如果用来描述特殊设备,则用loop指定)
umount
作用:卸载已挂载的文件系统
需要挂载的设备或目录没有被在使用中,有的话要先退出挂载目录
命令
umount 存储设备位置
umount 挂载点目录
umount [-lf] 存储设备目录或挂载点目录 (-if:强制卸载/解挂)
①查看挂载情况
- 直接mount命令
- df
查看设备的UUID和文件系统类型
blkid [设备]
设置文件系统的自动挂载
① linux操作系统在每次开机时,会自动读取/etc/fstab 文件的内容,自动挂载所指定的文件系统
② /etc/fstab 配置文件 包含需要开机后自动挂载的文件系统记录
- 操作步骤
进入vim或vi编辑器对 /etc/fstab 配置文件进行相应修改
vim /etc/fstab
④磁盘分区
- mbr分区
①最多支持4个主分区
②系统只能安装在主分区
③扩展分区要占一个主分区
④mbr有良好的兼容性
- Linux分区
Linux无论有几个分区,分给哪一目录使用,归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
- List item
Linux中采用了一种叫 “载入” 的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
4.硬盘
- Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上都是SCSI硬盘
- 对于IDE硬盘,驱动标识为“hdx~”,
`其中“hd”分区所在的设备类型,这里指IDE硬盘了。“x”为盘号(`a为基本盘,b为基本从属盘,c为辅助盘,d为辅助从属盘`),“”代表分区,前4个分区用数字14表示,他们是主分区或扩展分区,从5开始就是逻辑分区。如:hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区 - 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。