# 查看所有分区情况[root@kid ~]# fdisk -l # 磁盘/dev/sda:10.7 GB,10737418240字节,20971520个扇区
Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
# 单位=1*512=512字节的扇区
Units = sectors of 1 * 512=512 bytes
# 扇区大小(逻辑/物理):512字节/512字节
Sector size (logical/physical): 512 bytes / 512 bytes
# I/O大小(最小/最佳):512字节/512字节
I/O size (minimum/optimal): 512 bytes / 512 bytes
# 磁盘标签类型:dos
Disk label type: dos
# 磁盘标识符:0x000c160a
Disk identifier: 0x000c160a
# 设备 引导 开始 结束 块 Id 系统
/dev/sda1 * 20482099199104857683 Linux
/dev/sda2 2099200209715199436160 8e Linux LVM
# sdb新添加的硬盘
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
# 磁盘/dev/mapper/centos_kid-root:858585MB,8585740288字节,16769024个扇区
Disk /dev/mapper/centos_kid-root: 8585 MB, 8585740288 bytes, 16769024 sectors
# 磁盘/dev/mapper/centos_kid-swap:1073 MB,1073741824字节,2097152个扇区
Disk /dev/mapper/centos_kid-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
4.3 操作分区的硬盘
# 对/dev/sdb进行分析操作[root@kid ~]# fdisk /dev/sdb
Command (m forhelp): m # 输入m列出常用的命令
Command action
a toggle a bootable flag # 切换分区启动标记
b edit bsd disklabel # 编辑sda磁盘标签
c toggle the dos compatibility flag # 切换dos兼容模式
d delete a partition # 删除分区
l list known partition types # 显示分区类型
m print this menu # 显示帮助菜单
n add a new partition # 新建分区
o create a new empty DOS partition table # 创建新的空白分区表
p print the partition table # 显示分区表的信息
q quit without saving changes # 不保存退出
s create a new empty Sun disklabel # 创建新的Sun磁盘标签
t change a partitions system id# 修改分区ID,可以通过l查看id
u change display/entry units# 修改容量单位,磁柱或扇区 v verify the partition table # 检验分区表
w write table to disk and exit# 保存退出
x extra functionality (experts only)# 拓展功能
4.4 创建主分区
# 新建分区
Command (m forhelp): n
Partition type:
# 主分区
p primary (0 primary, 0 extended, 4free)# 扩展分区
e extended
# 选择创建主分区
Select (default p): p
# # 默认创建第一个主分区 (默认为第一主分区, 回车即可)
Partition number (1-4, default 1):
# 默认扇区回车
First sector (2048-41943039, default 2048):
Using default value 2048# # 分配主分区50MB
Last sector, +sectors or +size{K,M,G}(2048-41943039, default 41943039): +50M
Partition 1 of type Linux and of size 50 MiB is set
4.5 创建扩展分区
# 新建分区
Command (m forhelp): n
Partition type:
p primary (1 primary, 0 extended, 3free)
e extended
# 创建扩展分区
Select (default p): e
# 序号默认为2, 回车即可
Partition number (2-4, default 2):
# 默认即可
First sector (104448-41943039, default 104448):
Using default value 104448# 什么都不输入,直接回车, 空间都给到扩展分区
Last sector, +sectors or +size{K,M,G}(104448-41943039, default 41943039):
Using default value 41943039
Partition 2 of type Extended and of size 20 GiB is set
4.6 创建逻辑分区
# 新建分区
Command (m forhelp): n
Partition type:
p primary (1 primary, 1 extended, 2free)
l logical (numbered from 5)# 创建逻辑分区 (建立拓展分区之后, 原本的e选择变成了l选项)
Select (default p): l
Adding logical partition 5# 默认回车即可
First sector (106496-2097151, default 106496):
Using default value 106496# 分配100MB空间
Last sector, +sectors or +size{K,M,G}(106496-41943039, default 41943039): +100M
4.7 fdisk查看分区情况
# 查看分区创建
Command (m forhelp): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512=512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xdd515427
Device Boot Start End Blocks Id System
/dev/sdb1 20481044475120083 Linux
/dev/sdb2 10444841943039209192965 Extended
/dev/sdb5 10649631129510240083 Linux
4.8 保存分区设置
# 保存分区
Command (m forhelp): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# 检查磁盘是否是MBR分区方式 [root@kid ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
# 安装parted, 刷新内核立即生效,无需重启 [root@kid ~]# yum -y install parted [root@kid ~]# partprobe /dev/sdb # 看出创建的分区(sdb是硬盘设备, 1, 2, 5是分区)[root@kid ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 Sep 621:00 /dev/sdb
brw-rw----. 1 root disk 8, 17 Sep 621:00 /dev/sdb1
brw-rw----. 1 root disk 8, 18 Sep 621:00 /dev/sdb2
brw-rw----. 1 root disk 8, 21 Sep 621:00 /dev/sdb5
# (不要操作) 格式化整个磁盘 格式化成ext4文件系统# 执行之后创建的sdb1, sdb2, sdb5都没了, 变成sdb[root@kid ~]# mkfs.ext4 /dev/sdb mke2fs1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!# 确认
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096(log=2)
Fragment size=4096(log=2)Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2153775104160 block groups32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
# 创建一个新分区, 500MB大小 [root@kid ~]# gdisk /dev/sdb # 之前硬盘格式是MBR, 现在使用gdisk分区, 硬盘分区由MBR转为GPT.# GPT fdisk(gdisk)版本0.8.10
GPT fdisk(gdisk) version 0.8.10
# 分区表扫描:
Partition table scan:
MBR: MBR only # MBR:仅MBR
BSD: not present # BSD:不存在
APM: not present # APM:不存在
GPT: not present # GPT:不存在
***************************************************************
# 发现无效的GPT和有效的MBR;将MBR转换为GPT格式
Found invalid GPT and valid MBR; converting MBR to GPT format# 在记忆中。此操作具有潜在的破坏性!退出in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
# 如果不想转换MBR分区,请键入“q”
typing 'q'if you don't want to convert your MBR partitions
# 到GPT格式!n
to GPT format!
**************************************************************
# m查看帮助
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
# 先对之前的分区进行删除(输入d)
Command (? forhelp): d
# 输入分区编号1, 删除分区1 (现在提示只有1到5)
Partition number (1-5): 1
Command (? forhelp): d
输入分区编号1, 删除分区2
Partition number (2-5): 2
Command (? forhelp): d
# 仅剩下5(现在不需要输入编号直接回车即可)
Using 5
# 创建新分区
Command (? forhelp): n
# 默认即可(回车)
Partition number (1-128, default 1):
# 默认即可(回车)
First sector (34-2097118, default =2048) or {+-}size{KMGTP}:
# 分配500M大小
Last sector (2048-2097118, default =2097118) or {+-}size{KMGTP}: +500M
Current type is 'Linux filesystem'# 回车即可
Hex code or GUID (L to show codes, Enter =8300):
Changed type of partition to 'Linux filesystem'
5.2 查看分区
# 打印查看
Command (? forhelp): p
Number Start (sector) End (sector) Size Code Name
120481026047500.0 MiB 8300 Linux filesystem
5.3 保存分区
# 保存分区
Command (? forhelp): w
# 确认
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
# 创建完成后, 可以尝试检查磁盘是否为gpt格式 [root@kid-node1 /]# fdisk /dev/sdb -l|grep type
Disk label type: gpt
# 安装parted, 刷新内核立即生效, 无需重启 [root@kid ~]# yum -y install parted [root@kid ~]# partprobe /dev/sdb # 查看分区[root@kid ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 Sep 621:24 /dev/sdb
brw-rw----. 1 root disk 8, 17 Sep 621:24 /dev/sdb1
5.4 格式化硬盘
# 直接格式化sdb(sdb1分区不要了)[root@kid ~]# mkfs.xfs /dev/sdb # 设备被占用(重启)
mkfs.xfs: cannot open /dev/sdb: Device or resource busy
# 提示有一个分区建议使用 -f 强制格式[root@kid ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
# 格式化成功[root@kid ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb isize=512agcount=4, agsize=1310720 blks
=sectsz=512attr=2, projid32bit=1=crc=1finobt=0, sparse=0
data =bsize=4096blocks=5242880, imaxpct=25=sunit=0swidth=0 blks
naming =version 2bsize=4096 ascii-ci=0ftype=1
log =internal log bsize=4096blocks=2560, version=2=sectsz=512sunit=0 blks, lazy-count=1
realtime =none extsz=4096blocks=0, rtextents=0# 格式化硬盘 sdb1分区也被删除了[root@kid ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 Sep 621:39 /dev/sdb
5.5 挂载硬盘
# 创建挂载点[root@kid ~]# mkdir /data_gdisk # 挂载硬盘[root@kid ~]# mount /dev/sdb /data_gdisk [root@kid ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb 2096128032992209282881% /data_gdisk
...
# umount不能卸载的情况 [root@kid ~]# umount /db1
umount: /db1: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1)# PS: 如上情况解决办法有两种, 1.切换至其他目录 2.使用'-l'选项强制卸载 [root@student db1]# umount -l /db1