- A+
一、fdisk工具
管理磁盘分区
fdisk [磁盘名称]
fidisk命令中的参数以及作用
参数 | 作用 |
---|---|
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区的信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区类型 |
p | 查看分区信息 |
w | 保存并退出 |
q | 不保存直接退出 |
创建一个磁盘分区
1、虚拟机添加测试硬盘
首先编辑虚拟机设置,添加一块硬盘用于测试
默认推荐,下一步
创建新虚拟磁盘,下一步
指定磁盘容量
指定磁盘文件
确认磁盘添加情况,无误后点击确定
2、创建磁盘分区
使用 lsblk命令列出块设备的基本信息,可以看到新添加的 20G硬盘
fdisk管理磁盘分区
fdisk /dev/sdb
参数 m可以列出fdisk中常见的参数以及一些简介
输入 n添加新的分区(P为主分区, e为扩展分区)
选择 p添加主分区。分区号和起始扇区可以不管默认即可,添加主分区大小的格式为 +size{K,M,G}
接着创建第二个分区。如果遇到值超出范围 (Value out of range)的情况就是磁盘大小不够你指定的大小。继续点击回车(ENTER)系统就会自动把剩下来的磁盘空间给到你创建的分区上。
最后输入 p(查看分区信息)查看指定分区的情况
w(保存并退出)
现在 lsblk可以看到 sdb下已经有两个分区了
3、文件系统管理磁盘分区
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2
4、挂载
创建挂载点
mkdir /data1 mkdir /data2
挂载 **mount [文件系统] [挂载目录] **
mount /dev/sdb1 /data1 mount /dev/sdb2 /data2
现在能清晰地看到 sdb1,sdb2已经分别挂载到根目录下的data1和data2上
二、parted命令
注意:parted的操作都是实时生效的,没有容错谨慎使用
使用场景
(1)若磁盘小于 2TB,可用 fdisk /dev/sdb 进行分区,即MBR分区格式;
(2)若磁盘大于 2TB,可用 parted /dev/sdb进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT分区格式;
一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长;而常用的fdisk这个工具对分区是有大小限制的,它只能划分小于2T的磁盘,划分大于2T磁盘分区的时候fdisk就无法满足要求了;这个时候有2个方法,其一是通过卷管理扩容卷来增大磁盘空间,其二就是通过parted工具来实现对GPT磁盘进行分区操作。
操作命令
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区 help [COMMAND] #打印通用求助信息,或关于 COMMAND 的信息 mklabel 标签类型 #创建新的磁盘标签 (分区表) mkfs MINOR 文件系统类型 #在 MINOR 创建类型为“文件系统类型”的文件系统 mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区 mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区 move MINOR 起始点 终止点 #移动编号为 MINOR 的分区 name MINOR 名称 #将编号为 MINOR 的分区命名为“名称” print [MINOR] #打印分区表,或者分区 quit #退出程序 rescue 起始点 终止点 #挽救临近“起始点”、“终止点”的遗失的分区 resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的大小 rm MINOR #删除编号为 MINOR 的分区 select 设备 #选择要编辑的设备 set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志
'help'查看命令列表
查看分区情况
划分出主分区"parted1"
方式一
[root@localhost ~]# parted /dev/sdb #进入parted命令交互后,将/dev/sdb进行分区 GNU Parted 3.1 使用 /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel #创建新的磁盘标签(分区表) 新的磁盘标签类型? gpt #设置磁盘标签类型为gpt 警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? #/dev/sdb上的现有磁盘标签将被销毁,并且此磁盘上的所有数据都将丢失。您想继续吗? 是/Yes/否/No? yes #确认格式化 (parted) mkpart #创建分区表 分区名称? []? parted1 #分区名称自定义为parted1 文件系统类型? [ext2]? ext4 #文件系统设置为ext4 起始点? 0% #起始点,设置从0开始 结束点? 5G #结束点,设置为磁盘大小为5G (parted) print #打印分区详细信息 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志 1 1049kB 5000MB 4999MB ext4 parted1 #Number为1,后续需要删除指定的id号就为1 (parted)
方式二
[root@localhost ~]# parted /dev/sdb mkpart parted1 1 5G #在/dev/sdb上创建一个名称为parted1 的分区,GPT分区表中的1分区编号,大小为5G 信息: You may need to update /etc/fstab. [root@localhost ~]# parted /dev/sdb print #打印/dev/sdb分区的详细信息 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志 1 1049kB 5000MB 4999MB ext4 parted1
删除分区
rm Number号
格式化操作
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 4.7G 0 part sr0 11:0 1 4.4G 0 rom [root@localhost ~]# mkfs.ext4 /dev/sdb1 #将/dev/sdb格式化为ext4文件系统 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 305216 inodes, 1220352 blocks 61017 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=1249902592 38 block groups 32768 blocks per group, 32768 fragments per group 8032 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# mkdir /data1 #创建挂载点 [root@localhost ~]# mount /dev/sdb1 /data1 #挂载到data1目录 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 1.6G 16G 9% / /dev/sda1 1014M 151M 864M 15% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/sdb1 4.5G 19M 4.2G 1% /data1
设置开机自动挂载
方法一:编辑/etc/fstab文件
[root@localhost ~]# vim /etc/fstab 添加以下内容: /dev/sdb1 /data1 ext4 defaults 0 0 #将挂载信息添加到/etc/fstab文件中,实现永久挂载
方法二:编辑/etc/rc.local文件
编辑此文件需要保证/etc/rc.d/rc.local有执行权限 [root@localhost ~]# chmod +x /etc/rc.d/rc.local [root@localhost ~]# vim /etc/rc.local 添加以下内容: mount /dev/sdb1 /data1 [root@localhost ~]# reboot
虚拟机重启后查看挂载情况: