知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述12.磁盘分区 -- 对磁盘分区,文件系统修改,挂载相关的知识,希望能为你提供帮助。
1. 磁盘基本分区Fdisk
1.添加一块小于2TB的磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用fdisk进行分区
3.使用mkfs进行格式化
4.使用mount进行挂载
PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
//fdisk对磁盘分区
[17:14:47 root@centos8] ~]#fdisk -l
//
[17:21:12 root@centos8] ~]#fdisk /dev/sdc
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command action
atoggle a bootable flag#切换分区启动标记
bedit bsd disklabel#编辑sdb磁盘标签
ctoggle the dos compatibility flag#切换dos兼容模式
ddelete a partition#删除分区
llist known partition types#显示分区类型
mprint this menu#显示帮助菜单
nadd a new partition#新建分区
ocreate a new empty DOS partition table#创建新的空白分区表
pprint the partition table#显示分区表的信息
qquit without saving changes#不保存退出
screate a new empty Sun disklabel#创建新的Sun磁盘标签
tchange a partitions system id#修改分区ID,可以通过l查看id
uchange display/entry units#修改容量单位,磁柱或扇区
vverify the partition table#检验分区表
wwrite table to disk and exit#保存退出
xextra functionality (experts only)#拓展功能例如:对120g的sdc分成3个区
[16:35:32 root@centos8] ~]#fdisk /dev/sdcWelcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x8e3d28ce.Command (m for help): n
Partition type
pprimary (0 primary, 0 extended, 4 free)
eextended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-251658239, default 2048):
//第一部分分40g
Last sector, +sectors or +size{K,M,G,T,P} (2048-251658239, default 251658239): +40GCreated a new partition 1 of type \'Linux\' and of size 40 GiB.Command (m for help): n
Partition type
pprimary (1 primary, 0 extended, 3 free)
eextended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (83888128-251658239, default 83888128):
Last sector, +sectors or +size{K,M,G,T,P} (83888128-251658239, default 251658239): +60GCreated a new partition 2 of type \'Linux\' and of size 60 GiB.Command (m for help): n
Partition type
pprimary (2 primary, 0 extended, 2 free)
eextended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (209717248-251658239, default 209717248):
//分第三部分的时候数值超出越界
Last sector, +sectors or +size{K,M,G,T,P} (209717248-251658239, default 251658239): +20G
Value out of range.
//所以第三部分分成了10g
Last sector, +sectors or +size{K,M,G,T,P} (209717248-251658239, default 251658239): +10GCreated a new partition 3 of type \'Linux\' and of size 10 GiB.Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.[16:41:19 root@centos8] ~]#lsblk
NAMEMAJ:MIN RMSIZE RO TYPE MOUNTPOINT
sda8:00200G0 disk
├─sda18:101G0 part /boot
└─sda28:20199G0 part
├─cl-root 253:0070G0 lvm/
├─cl-swap 253:102G0 lvm[SWAP]
└─cl-home 253:20127G0 lvm/home
sdb8:16020G0 disk
sdc8:320120G0 disk
├─sdc18:33040G0 part
├─sdc28:34060G0 part
└─sdc38:35010G0 part
sr011:019.3G0 rom
[16:41:21 root@centos8] ~]#partprobe /dev/sdc//同步,更新分区表
2.mkfs创建文件系统
创建文件管理工具
mkfs命令:FS_TYPE是要创建的文件系统名; DEVICE是设备名称
(1) mkfs.FS_TYPE /dev/DEVICE
ext4
xfs
btrfs
vfat
(2) mkfs -t FS_TYPE /dev/DEVICE
-L \'LABEL\' 设定卷标
mke2fs:ext系列文件系统专用管理工具
常用选项
-t {ext2|ext3|ext4} 指定文件系统类型
-b {1024|2048|4096} 指定块 block 大小
-L ‘LABEL’ 设置卷标
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N #指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m # 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...]启用指定特性
-O ^FEATURE 关闭指定特性
例:将sdc1格式化为ext4的文件系统
[17:10:15 root@centos8] ~]#mkfs -t ext4 /dev/sdc1
mke2fs 1.45.6 (20-Mar-2020)
/dev/sdc1 contains a xfs file system
Proceed anyway? (y,N) y
Creating filesystem with 10485760 4k blocks and 2621440 inodes
Filesystem UUID: be1b9de8-2504-4f7f-a3d1-2da00ba9f0ee
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
3.fsck,e2fsck文件系统检测和修复
注意:一定不要在挂载状态下执行以下命令
(1)检测系统 fsck.xfs 或fsck.ext4也就是fsck.文件系统名
4.挂载
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入
口的行为
卸载:为解除此关联关系的过程
把设备关联挂载点:mount Point
挂载点下原有文件在挂载完成后会被临时隐藏,因此,挂载点目录一般为空
进程正在使用中的设备无法被卸载
挂载文件系统mount格式:
device:指明要挂载的设备
设备文件:例如:/dev/sda5
卷标:-L \'LABEL\', 例如 -L \'MYDATA\'
UUID: -U \'UUID\':例如 -U \'0c50523c-43f1-45e7-85c0-a126711d406e\'
伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir:挂载点
事先存在,建议使用空目录
mount常用命令选项
-t vsftype 指定要挂载的设备上的文件系统类型
-r readonly,只读挂载
-w read and write, 读写挂载
-n不更新/etc/mtab,mount不可见
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-L \'LABEL\' 以卷标指定挂载设备
-U \'UUID\' 以UUID指定要挂载的设备
-B, --bind 绑定目录到另一个目录上
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
async 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中
sync 同步模式,内存更改时,同时写磁盘
atime/noatime 包含目录和文件
diratime/nodiratime 目录的访问时间戳
auto/noauto 是否支持自动挂载,是否支持-a选项
exec/noexec 是否支持将文件系统上运行应用程序
dev/nodev 是否支持在此文件系统上使用设备文件
suid/nosuid 是否支持suid和sgid权限
remount重新挂载
ro 只读 rw 读写
user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用
acl 启用此文件系统上的acl功能
loop 使用loop设备
_netdev 当网络可用时才对网络资源进行挂载,如:NFS文件系统
defaults 相当于rw, suid, dev, exec, auto, nouser, async
挂载规则:一个挂载点,同一时间只能挂载一个设备
一个挂载点,同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
一个设备可以同时挂载到多个挂载点
通常挂载点一般是已存在空的目录
卸载文件系统 umount【12.磁盘分区 -- 对磁盘分区,文件系统修改,挂载】卸载时:可使用设备,也可以使用挂载点
umount 设备名|挂载点
查看挂载情况查看挂载
#通过查看/etc/mtab文件显示当前已挂载的所有设备
mount
#查看内核追踪到的已挂载的所有设备
cat /proc/mounts
findmntMOUNT_POINT|device
查看挂载点情况
findmntMOUNT_POINT|device
查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
持久挂载将挂载保存到 /etc/fstab 中可以下次开机时,自动启用挂载
/etc/fstab格式 帮助:man 5 fstab
每行定义一个要挂载的文件系统,,其中包括共 6 项
- 要挂载的设备或伪文件系统
设备文件
LABEL:LABEL=" "
UUID:UUID=" "
伪文件系统名称:proc, sysfs - 挂载点:必须是事先存在的目录
- 文件系统类型:ext4,xfs,iso9660,nfs,none
- 挂载选项:defaults ,acl,bind
- 转储频率:0:不做备份 1:每天转储 2:每隔一天转储
- fsck检查的文件系统的顺序:允许的数字是0 1 2
0:不自检 ,1:首先自检;一般只有rootfs才用 2:非rootfs使用
添加新的挂载项,需要执行下面命令生效
范例:centos8 /etc/fstab 的分区UUID错误,无法启动
范例:centos6 /etc/fstab 的分区UUID错误,无法启动
推荐阅读
- Linux free 缓存内存释放
- Linux rm命令删除文件磁盘空间不释放解决
- Prometheus.yml 配置文件解析
- Linux 所属用户和文件权限修改
- 黄昏
- Windows系统,右键文件夹卡死
- 13.磁盘分区 -- 查看分区,文件系统状态信息,管理交换分区swap,数据转换拷贝dd工具
- 中职生的自我介绍
- CAN总线调试