重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
磁盘的分区与管理
创新互联建站基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业成都服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
本文介绍了linux系统下,磁盘的分区与管理相关操作命令,在每个主要命令后面附加了实验进行检测。
一、 磁盘分区:fdisk
此处我们主要是使用传统的磁盘分区,不涉及mdm以及lvm等内容。
1. 查看磁盘分区信息,使用fdisk -l,可以查看到传统的磁盘分区以及lvm卷的信息。
[root@liuqing ~]# fdisk -l
磁盘 /dev/sda:128.8 GB, 128849018880 字节,251658240 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ce7f5
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:50.5 GB, 50457477120 字节,98549760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2. fdisk的主要参数
注意:fdisk的操作都是在内存中,并没有实时的操作磁盘。只有在使用w命令存盘时才会写入到磁盘。
d delete a partition #删除一个分区
l list known partition types #显示已知的分区类型,常见的82、83、8e、
m print this menu #显示命令菜单
n add a new partition #创建一个新的分区
p print the partition table #显示分区表
q quit without saving changes #不保存退出
t change a partition's system id #调整分区类型
w write table to disk and exit #存盘并退出
3. 实验:创建一个10G的分区,其分区类型为83,分区号为/dev/sda3
[root@liuqing ~]# fdisk -l /dev/sda
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (209715200-251658239,默认为 209715200):
将使用默认值 209715200
Last 扇区, +扇区 or +size{K,M,G} (209715200-251658239,默认为 251658239):+10G
分区 3 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
# 创建一个分区时,输入命令n
# 接着要选择分区的类型是主分区还是扩展分区,对于MBR磁盘来说,主分区加扩展分区最多4个
# 选择分区号1-4为主分区、扩展分区;扩展分区下的逻辑分区从5开始
# 输入起始扇区号以及分区大小
# 存盘退出
4. 查看分区信息,已经多了一个
[root@liuqing ~]# fdisk -l
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
/dev/sda3 209715200 230686719 10485760 83 Linux
二、让内核读盘
使用fdisk创建一个分区以后,内核没有实时的识别它,需要使用命令来重新读取一次分区。使用的命令有两个:partx以及kpartx.
1. 查看内核已经识别的分区信息,并没有看到/dev/sda3的信息。
[root@liuqing ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 1048576 sda1
8 2 103808000 sda2
......省略其他不相关的信息
2. 使用partx重新读取分区信息,如果执行一次不行,可以再执行一次。
[root@liuqing ~]# partx -a /dev/sda
partx: /dev/sda: error adding partitions 1-2
[root@liuqing ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 1048576 sda1
8 2 103808000 sda2
8 3 10485760 sda3
3. partx和kpartx的使用方法
A. partx -a [device]
B. kpartx -af [device]
三、创建文件系统
掌握创建文件系统的命令及参数
在这里我们主要介绍ext系列文件系统创建工具mke2fs的使用方法,它的功能比较强大。其他的命令还有mkfs.ext2, mkfs.ext3, mkfs.ext4; mkfs等。
mke2fs [OPTIONS] device
-t {ext2|ext3|ext4}:指明要创建的文件系统类型
mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
-b {1024|2048|4096}:指明文件系统的块大小;
-L LABEL:指明卷标;
-j:创建有日志功能的文件系统ext3;
mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
-i #:bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个Indode;
-N #:直接指明要给此文件系统创建的inode的数量;
-m #:指定预留的空间,百分比;
-O [^]FEATURE:以指定的特性创建目标文件系统;
实验: 对/dev/sda3创建文件系统,文件系统的类型为ext4,系统使用的块大小为2048,卷标为Mydata,预留给管理员的空间为4%;
[root@liuqing ~]# mke2fs -t ext4 -b 2048 -L "Mydata" -m 4 /dev/sda3
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=Mydata
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
209715 blocks (4.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=273678336
320 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
2048000, 3981312
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
四、 调整分区属性以及其它命令
1. e2label: 用于查看和设定卷标
查看:e2label DEVICE
设定:e2label DEVICE LABEL_NAME
2. dumpe2fs: 用于显示ext系列文件系统的属性信息
dumpe2fs [-h] device
3. e2fsck:对ext系列文件系统进行磁盘检查
e2fsck [OPTIONS] device
-y:对所有问题自动回答为yes;
-f:即使文件系统处于clean状态,也要强制进行检测;
4. fsck:check and repair a Linux file system
-t fstype:指明文件系统类型;
fsck -t ext4 = fsck.ext4
-a:无须交互而自动修复所有错误;
-r:交互式修复;
5. tune2fs
tune2fs命令:查看或修改ext系列文件系统的某些属性
adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems;
注意:块大小创建后不可修改;
tune2fs [OPTIONS] device
-l:查看超级块的内容;
修改指定文件系统的属性:
-j:ext2 --> ext3;
-L LABEL:修改卷标;
-m #:调整预留空间百分比;
-O [^]FEATHER:开启或关闭某种特性;
-o [^]mount_options:开启或关闭某种默认挂载选项
acl
^acl
6. 查看分区超级块的信息
[root@liuqing ~]# tune2fs -l /dev/sda3
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: Mydata
Last mounted on:
Filesystem UUID: 63a8e0d5-27b4-4dd6-9049-3f11acb620b7
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 5242880
Reserved block count: 209715
Free blocks: 5121266
Free inodes: 655349
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Thu Nov 28 11:12:37 2019
Last mount time: n/a
Last write time: Thu Nov 28 11:12:38 2019
Mount count: 0
Maximum mount count: -1
Last checked: Thu Nov 28 11:12:37 2019
Check interval: 0 (
Lifetime writes: 65 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: e2e55f5f-e05f-431c-84b9-a734d29b078f
Journal backup: inode blocks