parted分区详解
----------
Linux中有两种常用的分区表MBR分区表(主引导记录分区表)和GPT分区表(GUID分区表),其中:
MBR分区表:支持的最大分区时2TB,最多支持4个主分区,或3个主分区和1个拓展分区。 GPT分区表:支持最大18EB的分区,最多支持128个分区,其中1个系统保留分区,127个用户自定义分区。
MBR分区标准决定了MBR只支持在2TB以下的硬盘,为了支持能使用大于2T硬盘空间,需使用GPT格式进行分区。创建大于2TB的分区,需使用parted工具。
模拟实例
企业中经常会用大容量硬盘,常年大量读写,导致出现坏盘,需要更换硬盘,或者由于磁盘空间不足需要添加新的硬盘,新添加的硬盘需要格式化-分区-挂载后才能被linux系统使用。
本实验使用一块4TB硬盘作为实验
一,添加一块4TB硬盘
二,查看新硬盘
新添加的硬盘可能不会被立即识别出来,需要重启系统后重新识别,还有一个命令不用重启,我忘了
三,使用parted分区
本次分区分三个区 p1分区 500G p2分区 1TB p3分区 剩余全部空间 操作命令如下:
[root@wscyun ~]# 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
(parted) mkpart p1 1 500G #创建p1分区
(parted) mkpart p2 500G 1500G #创建p2分区
(parted) mkpart p3 1500G -1 #创建p3分区,使用剩余空间
(parted) print #打印查看分区
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 500GB 500GB p1
2 500GB 1500GB 1000GB p2
3 1500GB 4398GB 2898GB p3
(parted) quit #退出工具
信息: You may need to update /etc/fstab.
查看下刚刚分区情况
四,格式化分区
这里使用 mkfs.xfs 也可以使用 mkfs.ext4 进行格式
[root@wscyun ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=30517504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=122070016, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=59604, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@wscyun ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=61035136 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=244140544, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=119209, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@wscyun ~]# mkfs.xfs /dev/sdb3
meta-data=/dev/sdb3 isize=512 agcount=4, agsize=176882688 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=707530752, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=345474, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
五,挂载使用
创建三个目录分别挂载
[root@wscyun ~]# mkdir -p /data/p{1..3}
[root@wscyun ~]# mount /dev/sdb1 /data/p1
[root@wscyun ~]# mount /dev/sdb2 /data/p2
[root@wscyun ~]# mount /dev/sdb3 /data/p3
[root@wscyun ~]# df -H
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 2.1G 0 2.1G 0% /dev
tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs 2.1G 13M 2.1G 1% /run
tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/mapper/centos-root 31G 2.3G 29G 8% /
/dev/sda1 1.1G 145M 920M 14% /boot
tmpfs 413M 0 413M 0% /run/user/0
/dev/sdb1 500G 34M 500G 1% /data/p1
/dev/sdb2 1.0T 34M 1.0T 1% /data/p2
/dev/sdb3 2.9T 34M 2.9T 1% /data/p3
六,设置开机自动挂载
方法一 编辑 /etc/fstab 文件
/dev/sdb1 /data/p1 xfs defaults 0 0
/dev/sdb2 /data/p2 xfs defaults 0 0
/dev/sdb3 /data/p3 xfs defaults 0 0
方法二 编辑 /etc/rc.local 文件,编辑此文件需要保证 /etc/rc.d/rc.local 有执行权限
#给予权限
[root@wscyun ~]# chmod +x /etc/rc.d/rc.local
#编辑 /etc/rc.local 添加以下内容
mount /dev/sdb1 /data/p1
mount /dev/sdb2 /data/p2
mount /dev/sdb3 /data/p3
#重启服务器测试
七,mount 命令基本使用详解
Mount命令参数详解
Mount命令工具主要用于将设备或者分区挂载至Linux系统目录下,Linux系统在分区时,也是基于mount机制将/dev/sda分区挂载至系统目录,将设备与目录挂载之后,Linux操作系统方可进行文件的存储。
mount [-Vh]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
-V: 显示mount工具版本号;
-l: 显示已加载的文件系统列表;
-h: 显示帮助信息并退出;
-v: 输出指令执行的详细信息;
-n: 加载没有写入文件/etc/mtab中的文件系统;
-r: 将文件系统加载为只读模式;
-a: 加载文件/etc/fstab中配置的所有文件系统;
-o: 指定mount挂载扩展参数,常见扩展指令:rw、remount、loop等,其中-o相关指令如下:
-o atime: 系统会在每次读取文档时更新文档时间;
-o noatime: 系统会在每次读取文档时不更新文档时间;
-o defaults: 使用预设的选项 rw,suid,dev,exec,auto,nouser等;
-o exec 允许执行档被执行;
-o user、-o nouser: 使用者可以执行 mount/umount的动作;
-o remount: 将已挂载的系统分区重新以其他再次模式挂载;
-o ro: 只读模式挂载;
-o rw: 可读可写模式挂载;
-o loop 使用loop模式,把文件当成设备挂载至系统目录。
-t: 指定mount挂载设备类型,常见类型nfs、ntfs-3g、vfat、iso9660等,其中-t相关指令如下:
iso9660 光盘或光盘镜像;
msdos Fat16文件系统;
vfat Fat32文件系统;
ntfs NTFS文件系统;
ntfs-3g 识别移动硬盘格式;
smbfs 挂载Windows文件网络共享;
nfs Unix/Linux文件网络共享。