您的位置:首页 > 其它

磁盘的分区与管理

2019-11-28 11:42 946 查看

磁盘的分区与管理

本文介绍了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:          <not available>

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 (<none>)

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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: