分区规划及使用
硬盘结构及概念
磁道:track 划分为63个扇区
扇区:sector 一个扇区默认大小为512字节
磁头:head 逻辑磁头(盘面)数设为255个
柱面:cylinder 柱面大小= 255 x 63 x 512 字节 = 8MB
-- > 硬盘或分区的容量= 柱面大小 x 柱面数
硬盘分区管理
一块硬盘的“艺术”之旅:
识别硬盘——>分区规划——>格式化——>挂载使用
毛坯楼层——> 打隔断 ——> 装修 ——>入驻
两种硬盘分区方案
MSDOS —— Master Boot Record —— 第1个扇区(512)
** 4个主分区(3个主分区+1个扩展分区)+很多逻辑分区
不足:最多4个主分区、最大磁盘2.2TB
MBR/msdos分区模式:1~4个主分区,或者0~3个主分区+1个扩展分区(n个逻辑分区) 最大支持容量为2.2TB的磁盘
扩展分区不能格式化
GPT —— GUID Partition Table
最大支持18EB磁盘
** 1 EB = 1024 PB = 1024 x 1024 TB = 1024 x 1024 x 1024GB
分区工具
使用parted工具 【支持MSDOS、GPT分区布局】
查看分区表:parted /dev/sdb print
进入交互模式:parted /dev/sdb
获取交互指令帮助:(parted) help
新增分区:mkpart 【primary|logical|extended】 【ext4|vfat】开始 结束
删除分区:rm 【partition】
GPT分区操作:
parted /dev/sdb
(parted) mktable gpt 【建立GPT分区表】
(parted) mkpart primary ext4 0 20G 【建第1个20GB的ext3主分区】
(parted) mkpart primary ext4 20G 40G 【建第2个20GB的ext3主分区】
(parted) mkpart primary ext4 40G 100% 【剩余所有空间作一个分区】 (parted) quit 【退出】
partx -a /dev/xdy 获取新分区表(或者partprobe在5版本适用)
**因parted命令支持两种分区模式,新硬盘需先利用mktable指定分区模式,在划分新的分区后,需要“partx –a”刷新分区表
使用fdisk工具:【只支持MSDOS分区布局】
查看分区表:fdisk -l 磁盘设备路径
修改硬盘的分区表:fdisk 磁盘设备路径
常用交互指令:
m:列出指令帮助
p:查看当前的分区表信息
n:新建分区
d:删除分区
t:更改分区标识
q:放弃分区更改并退出
w:保存对分区表所做的更改
[root@server0 ~]# lsblk
[root@server0 ~]# fdisk /dev/vdb
p 查看分区情况------->n创建新的分区
------->主分区(默认回车即可,即选p,主分区1)
------->第一个主分区(默认回车即可,即默认分区号)
------->起始扇区(默认回车即可)
------->结束扇区(+200M)
p 查看分区情况------->n创建新的分区
------->主分区(默认回车即可,即选p,主分区2)
------->第二个主分区(默认回车即可,即默认分区号)
------->起始扇区(默认回车即可)
------->结束扇区(+2000M)
……
当有3个主分区时即创建扩展分区4,且所有空间都给扩展分区
p 查看分区情况------->n创建新的分区
------->扩展分区(默认回车即可,即选e,即扩展分区4)
------->起始扇区(默认回车即可)
------->结束扇区(默认回车即可,即将所有空间给扩展空间)
p 查看分区情况------->n创建新的分区(默认回车即可,创建第一块逻辑分区)
------->起始扇区(默认回车即可)
------->结束扇区(+1000)
……
输入w保存并退出
[root@server0 ~]# partprobe #刷新分区表
[root@server0 ~]# ls /dev/vdb*
识别新分区表:当硬盘的分区表被更改以后,需要将分区表的变化及时通知linux内核
最好reboot一次
否则在访问分区时可能会找不到准确的设备
步骤:1)partprobe 硬盘设备; 2)reboot
格式化分区
常用的格式化工具
mkfs -t 文件类型 /dev/xdyz = mkfs.文件类型 /dev/xdyz
mkfs工具集:mkfs.ext3 分区设备路径 mkfs.ext4 分区设备路径
mkfs.xfs 分区设备路径 mkfs.vfat -F 32 分区设备路径
按照不同的类型格式化分区:
[root@server0 ~]# mkfs.ext4 /dev/vdb1 /dev/vdb1===> EXT4类型
[root@server0 ~]# mkfs.xfs /dev/vdb2 /dev/vdb2===>XFS类型
新格式化的EXT3/EXT4文件系统,默认会有 lost+found 目录(失物招领)
手动挂载设备
[root@server0 ~]# mkdir /part1
[root@server0 ~]# mount
[root@server0 ~]# mkdir /part2
[root@server0 ~]# mount /dev/vdb2 /part2
补充:
df命令,查看一个文件属于哪一个设备以及这个设备的使用情况
# df -h:文档的路径 查看正在挂载的设备使用情况(分区信息) 它也可用管道进行处理
# du -sh /etc #统计/etc目录的大小
Mount /dev/sdb1 /opt/
Cp -rpf /var/* /opt/
Rm -rf /var/*
Mount /dev/sdb1 /opt/
访问文件系统
访问已格式化的分区
1)使用mount命令挂载,并访问测试: mount 磁盘设备 创建的挂载点
2)使用df检查使用情况:df -hT 创建的挂载点
3)实现开机自动挂载:
配置文件/etc/fstab的记录格式
# vim /etc/fstab (写入一定要正确,否则重启无法成功)
设备路径 挂载点 类型 参数 备份标记 检测顺序
/dev/vdb1 /part1 ext4 defaults 0 0
补充: #blkid /dev/vdb1
查看设备的UUID值(设备的唯一ID值)及文件系统类型:blkid 磁盘设备
[root@server0 ~]# vim /etc/fstab
[root@server0 ~]# tail -1 /etc/fstab
/dev/vdb1 /part1 ext4 defaults 0 0
4)检测配置 mount -a
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中,书写完成,但当前没有挂载的设备,当前进行挂载
[root@server0 ~]# df -h
[root@server0 ~]# umount /part1
[root@server0 ~]# df -h
[root@server0 ~]# mount -a #检测/etc/fstab中已经书写,当前没有挂载
[root@server0 ~]# df -h
/etc/fstab文件在配置完成后,利用“mount –a”验证。如果该分区已经挂载,在利用“mount –a”则不会重新识别与挂载。
补充练习:为CentOS真机配置本地仓库
开机自动挂载RHEL7光盘镜像到/media/rhel7dvd
# mkdir /media/rhel7dvd
# vim /etc/fstab
.. ..
/ISO/rhel-server-7.2-x86_64-dvd.iso /media/rhel7dvd iso9660 loop 0 0
# mount -a
# df -hT /media/rhel7dvd
# vim /etc/yum.repos.d/rhel7.repo
[rhel7dvd]
name=RHEL7
baseurl=file:///media/rhel7dvd
enabled=1
gpgcheck=0
# yum repolist
###############################################################################
案例1:硬盘分区及格式化
使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区:
采用默认的 msdos 分区模式
第1个分区 /dev/vdb1 的大小为 200MiB
第2个分区 /dev/vdb2 的大小为 2000MiB
第3个分区 /dev/vdb3 的大小为 1000MiB
完成分区后,能够配置开机自动挂载 /dev/vdb2 分区:
文件系统类型为 EXT4 将其挂载到 /mnt/part2 目录
##########################################################
思路:1.lsblk #识别磁盘 也可用:ls /dev/新硬盘
2.fdisk #划分新的分区
3.partprobe #刷新新的分区
4.mkfs.xfs #格式化新的文件系统
5.mount #挂载
6.vim /etc/fstab #开机自动挂载
###########################################################
步骤一:新建分区表
1)打开fdisk工具,操作磁盘/dev/vdb
fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x9ac1bc10.
Command (m for help): //交互操作提示信息
2)新建第1个分区/dev/vdb1
Command (m for help): n //新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p //类型为p(主分区)
Partition number (1-4, default 1): 1 //分区编号1,默认1
First sector (2048-20971519, default 2048): //起始位置默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M
Partition 1 of type Linux and of size 200 MiB is set //结束位置+200MiB大小
Command (m for help): p //确认当前分区表
.. ..
Device Boot Start End Blocks Id System
/dev/vdb1 2048 411647 204800 83 Linux
3)同理,新建第2、3个分区/dev/vdb2、/dev/vdb3,分区大小为2000M、1000M
4)调整分区类型标识(可选)
将/dev/vdb1的类型(默认为83,表示EXT2/3/4分区)修改为8e(LVM设备):
Command (m for help): t //修改分区类型标识
Partition number (1-3, default 3): 1 //指定第1个分区
Hex code (type L to list all codes): 8e //类型改为8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p //确认当前分区表
.. ..
Device Boot Start End Blocks Id System
/dev/vdb1 2048 411647 204800 8e Linux LVM
/dev/vdb2 411648 4507647 2048000 83 Linux
/dev/vdb3 4507648 6555647 1024000 83 Linux
6)保存分区更改,退出fdisk分区工具
w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
6)刷新分区表
[root@server0 ~]# partprobe /dev/vdb
或者[root@server0 ~]# reboot //要先检查分区是否创建成功,检查完毕刷新
不显示的情况下,才能使用重启,是最后的选择
.. ..
步骤二:格式化及挂载分区
1)将分区/dev/vdb2格式化为EXT4文件系统
mkfs.ext4 /dev/vdb2
.. ..
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
2)配置开机自动挂载
vim /etc/fstab
.. ..
defaults 0 0
3)创建挂载点,并验证挂载配置
[root@server0 ~]# mkdir /mnt/part2 //创建挂载点
[root@server0 ~]# mount -a //挂载fstab中的可用设备
[root@server0 ~]# df -hT /mnt/part2/ //检查文档所在的文件系统及设备
Filesystem Type Size Used Avail Use% Mounted on
/dev/vdb2 ext4 1.9G 5.9M 1.8G 1% /mnt/part2
###############################################################################