1.使用fdisk -l开查看当前状态下磁盘情况
$ fdisk -l
Disk /dev/sda: 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: 0x00085a0c
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 41943039 20458496 8e Linux LVM
# 注意看这里:这个就是新的硬盘
# 记下/dev/sdb这个名称
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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 /dev/mapper/centos-root: 18.8 GB, 18756927488 bytes, 36634624 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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
2.2T以内的磁盘
使用fdisk /dev/sda来进行分区操作
$ fdisk /dev/sda
| # Command (m for help): n //输入N表示新建一个分区
| # Command (m for help): w //保存分区
再次fdisk -l查看信息
$ fdisk -l
用mkfs.ext4格式化新分区
$ mkfs.ext3 /dev/sdb
挂载使用
$ mkdir /mnt/hdb1 //新建一个挂载点。
$ mount /dev/hdb1 /mnt/hdb1 //挂载。
$ df -h
开机自动挂载
在vi /etc/fstab中添加新硬盘的挂载信息,添加下面一行:
/dev/hdb1 /mnt/hdb1 ext3 defaults 1 2(如果还有一个分区就是1 3,以此类推)
这样,每次开机后,系统会自动将/dev/hdb1挂载到/mnt/hdb1
#
# /etc/fstab
# Created by anaconda on Tue May 10 23:34:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=d54493d2-18fd-4e43-b425-45dd790bdeaf /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
3.超过2T的磁盘
因fdisk分区最大只能2T,所以超过2T的不能使用fdisk,需要用 parted。
yum install parted
1.parted的两种使用方式
交互式- 手动按序交互式的创建
过程描述
采用parted分区工具为数据盘设置分区,分区形式设置为GPT,文件系统设为xfs格式,挂载在“/data”下,并设置开机启动自动挂载。
-
查看新增数据盘
lsblk 表示有2块磁盘,/dev/sdb是系统盘,/dev/sda是数据盘
-
进入parted分区工具,开始对新增数据盘执行分区操作
以新挂载的数据盘“/dev/sda”为例: parted /dev/sda
-
新建磁盘标签类型为 GPT
输入“p”,按“Enter”,查看当前磁盘分区形式 “Partition Table”为“unknown”表示磁盘分区形式未知,新的数据盘还未设置分区形式。 输入以下命令,设置磁盘分区形式 磁盘分区形式有MBR和GPT两种,大于2TB的磁盘容量,请采用GPT分区方式: mklabel gpt 输入“p”,按“Enter”,设置分区形式后查看磁盘分区形式
-
分区
命令格式 :mkpart PART-TYPE [FS-TYPE] START END
PART-TYPE(分区类型):primary-主分区,logical-逻辑分区,extended-扩展分区
FS-TYPE(文件系统类型):ext4,ext3,ext2,xfs,其他…
START-设定磁盘分区起始点:可以为 0,numberMiB/GiB/TiB;0-设定当前分区的起始点为磁盘的第一个扇区;1G-设定当前分区的起始点为磁盘的 1G 处开始;
END-设定磁盘分区结束点:-1-设定当前分区的结束点为磁盘的最后一个扇区;10G-设定当前分区的结束点为磁盘的 10G 处;
由于需求所致,将/dev/sda 整个空间分给同一个分区设置磁盘的计量单位为磁柱
unit s
mkpart primary 2080s 100% (选择Ignore)
p 查看分区情况
输入‘q’,按enter退出parted模式
lsblk 查看分区情况 -
格式化分区
因为整个/dev/sda 只分了一个区,则这个分区名默认会分配为/dev/sda1;使用 mkfs 命令将/dev/sda1 分区格式化为 xfs。
| 这里选择xfs的原因是:1,其他两台服务器用的是xfs,2.xfs整体比ext4好,参考测评。
mkfs -t xfs /dev/sda1 -
创建挂载目录
mkdir /data
-
临时挂载分区
mount /dev/sda1 /data 查看挂在结果 df -TH
-
开机自动挂载(永久挂载)
两种方式:
1.直接指定设备名即修改/etc/fstab 文件。
echo ‘/dev/sdb1 /data xfs defaults 0 0’ >>/etc/fstab2.使用UUID
| UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。查询磁盘分区的UUID
blkid /dev/sda1
使用VI编辑器打开“fstab”文件
vi /etc/fstab
按“i”,进入编辑模式。将光标移至文件末尾,按“Enter”,添加如下内容
第一列为UUID,此处填写查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。
按“ESC”后,输入“:wq”,按“Enter”。保存设置并退出编辑器。
查询文件系统挂载信息
mount | grep /mnt/sdc
-
parted其他常用子命令
删除分区(rm子命令) | 此命令慎用!!!如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的。
非交互式-可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。
适用于需要在多台主机上进行同样的分区操作,可以通过 ansible 工具调用脚本实现批量分区配置挂载等操作。
两种方式比较
使用和原理其实是一样的;要想实现非交互式创建,无非是在每一个具体的交互式命令前加上parted DEVICES_NAME即可。
4.参考文档
https://support.huaweicloud.com/qs-ecs/ecs_02_0023.html
https://xie.infoq.cn/article/17cfc9bf3c6807144f35ac3e0