磁盘分区
1,磁盘分区
磁盘在linux中的命名
IDE: /dev/hda hdb
scsi: /dev/sda /dev/sdb
分区数字 sda1 sda2 sda3
磁盘分区就相当于给磁盘打隔断
磁盘分区类型:1,主分区(primary): P 1,系统中必须要存在的分区,系统盘选择主分区安装。
2,数字编号只能是1-4,sda1 sda2. sda3 sda4
3, 主分区最多四个,最少一个
2, 扩展分区(extend)E: 1,相当于一个独立的小磁盘,独立的分区表,不能独立存在。
2,有独立的分区表
3,不能独立存在,即不能直接存放数据
4,必须在扩展分区上建立逻辑分区才能存放数据。
5,占用主分区的编号(主分区+扩展分区)总数小于等于4
6,扩展分区可以没有,最多只有一个
3, 逻辑分区 (logic)
1,数字编号只能从5开始
2,存放于扩展分区之上。
3,存放任意普通数据。

问题: 给一个磁盘分6个分区有哪些方案:
3P 1E (3L)1 2 3 5 6 7
2P 1E (4L) 1 2 5 6 7 8
1P 1E (5L) 1 5 6 7 8 9
分区分完了,空间还有剩余浪费掉空间。
4,磁盘分区工作原理:
磁盘是按柱面分区的。
磁盘分区登记的地点:磁盘分区表。
磁盘分区表存放分区结果信息的。
位置,0磁道0磁头1扇区。占用1扇区的前446字节(系统引导信息的)后面的64字节(分区表)
剩下的2字节分区结束标记
磁盘分区表的容量是有限的,64字节,一个分区固定16字节
64/16=4分区(主分区+扩展分区)

5,磁盘分区实战
磁盘分区关键就是修改64字节的分区表而已
磁盘分区常用命令fdisk,修改MBR分区表,MBR格式。缺陷,被修改的磁盘大小不能大于2T
磁盘分区其他命令parted,gpt,既能修改小于2T也能修改大于2T。
小于2T用fdisk,(分区后记得w保存)
大于2T用parted
⚠️注意: 处于挂载活着使用的盘,不能分区,会导致数据丢失的
dd 转换copy一个文件
dd if=/dev/sda of=/dev/sdc bs=512 ount=1024
来源 生成文件系统 block大小 块的个数
cat /proc/partitions 查看分区信息
partprobe /dev/vdb 降分区信息通知内核
parted使用方法:

parted实现分区管理实践
磁盘信息
- 待管理磁盘
/dev/sdb - 磁盘总大小
18T - 分区需求
将整个/dev/sdb划分到同一个分区里,并挂载到**/gfsdata01目录下。
交互式方式实现分区步骤
选择操作磁盘
parted命令后跟上欲操作磁盘的名字即可选择此设备进行操作。
[root@kvm ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
新建磁盘标签类型为GPT
因为parted命令只能针对gpt格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式设为gpt。
(parted) mklabel gpt
分区
命令格式
mkpart PART-TYPE [FS-TYPE] START END
- PART-TYPE(分区类型)
- primary
主分区 - logical
逻辑分区 - extended
扩展分区
- primary
- FS-TYPE(文件系统类型)
- ext4
- ext3
- ext2
- xfs
- 其他......
- START
设定磁盘分区起始点;可以为0,numberMiB/GiB/TiB;- 0
设定当前分区的起始点为磁盘的第一个扇区; - 1G
设定当前分区的起始点为磁盘的1G处开始;
- 0
- END
设定磁盘分区结束点;- -1
设定当前分区的结束点为磁盘的最后一个扇区; - 10G
设定当前分区的结束点为磁盘的10G处;
- -1
将/dev/sdb整个空间分给同一个分区
(parted) mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 18.0TB 18.0TB primary
(parted) q
Information: You may need to update /etc/fstab.
格式化分区
因为整个/dev/sdb只分了一个区,则这个分区名默认会分配为/dev/sdb1;使用mkfs命令将/dev/sdb1分区格式化为ext4。
[root@kvm ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb1 alignment is offset by 244736 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=64 blocks, Stripe width=64 blocks
274659328 inodes, 4394530311 blocks
219726515 blocks (5.00%) reserved for the super user
First data block=0
134111 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
设定分区label(非必要)
[root@kvm ~]# e2label /dev/sdb1 /gfsdata01
创建挂载目录
[root@kvm ~]# mkdir /gfsdata01
临时挂载分区
[root@kvm ~]# mount /dev/sdb1 /gfsdata01
[root@kvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/root_vg-lv_root 89G 2.6G 82G 4% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 2.0M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 976M 216M 694M 24% /boot
/dev/sda7 99G 61M 94G 1% /home
/dev/sda8 62G 53M 59G 1% /tmp
/dev/sda6 99G 61M 94G 1% /app
tmpfs 26G 0 26G 0% /run/user/1014
tmpfs 26G 0 26G 0% /run/user/0
/dev/sdb1 17T 20K 16T 1% /gfsdata01
开机自动挂载(永久挂载)
即修改/etc/fstab文件。
echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0' >>/etc/fstab
非交互式方式实现脚本
适用于需要在多台主机上进行同样的分区操作,可以通过ansible工具调用脚本实现批量分区配置挂载等操作。
[root@kvm ~]# cat ./auto_partition.sh
#!/bin/bash
# 新建/dev/sdb的磁盘标签类型为GPT
parted /dev/sdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
parted /dev/sdb mkpart primary 0 100%
# 忽略警告
ignore
# 格式化分区
mkfs -t ext4 /dev/sdb1
# 设定分区label(非必要)
e2label /dev/sdb1 /gfsdata01
# 创建挂载目录
mkdir /gfsdata01
# 临时挂载
mount /dev/sdb1 /gfsdata01
# 开机自动挂载(永久挂载)
echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0'>>/etc/fstab
[root@kvm ~]#
parted的其他常用子命令
删除分区(rm子命令)
rm NUMBER:NUMBER即为parted子命令p回显的Number对应的数字;
此命令慎用!!!如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的。
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 4096GB 4096GB primary
(parted) rm 1
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
生产场景分区: 4种

浙公网安备 33010602011771号