|
磁盘管理相关的命令
一、设备文件:
1
2
| [iyunv@linux test2]# ls -l /dev
#查看Linux下的有那些设备文件
|
设备文件:关联至设备的驱动程序;设备的访问入口;
设备号:
major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;
minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;
mknod 创建字符或块等特殊设备
格式:mknod 选项 设备名 类型
-m :表示指定权限的创建一个设备名
举例
1
2
3
4
5
6
| [iyunv@linux ~]# mknod -m 640 /dev/testdev block 103 0
[iyunv@linux ~]# ll /dev/test*
brw-r----- 1 root root 103, 0 Mar 12 13:34 /dev/testdev
[iyunv@linux ~]# rm /dev/testdev
rm: remove block special file ‘/dev/testdev’? y
[iyunv@linux ~]#
|
对于这样的设备文件是不能使用的,而Linux一切皆文件,就可以直接把它删掉
查看块设备清单
lsblk命令
1
2
3
4
5
6
7
8
9
10
| [iyunv@linux ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 120G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 40G 0 part /
├─sda3 8:3 0 20G 0 part /usr
├─sda4 8:4 0 512B 0 part
├─sda5 8:5 0 2G 0 part [SWAP]
└─sda6 8:6 0 50.5K 0 part
sr0 11:0 1 1024M 0 rom
|
二、现在我们了解一下磁盘有哪些类型
磁盘:
IDE: /dev/hd[a-z]
例如:/dev/hda, /dev/hdb
SCSI, SATA, USB, SAS: /dev/sd[a-z]
【注】图片来源与网上以及他人
分区:
/dev/sda#:
/dev/sda1, ...
注意:CentOS 6和7统统将硬盘设备文件标识为/dev/sd[a-z]#
三、磁盘分区
fdisk:操作磁盘分区表[就是一个分区软件]
格式fdisk device 直接跟上设备名
1
2
3
4
5
| [iyunv@linux ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
|
命令选项:
a: 调整开机启动顺序
b: 编辑bsd磁盘标签
m:就会显示命令的清单
n:表示创建一个新的分区
d:表示删除一个分区
c:切换一个兼容性的DOC环境
g: 创建一个空的gpt分区表
l: 显示存在的分区类型
o:创建一个新的空的DOS分区表
p: 显示分区表
q:不保存退出
s: 创建一个新的空的sun 磁盘标签
t:改变磁盘分区的系统ID
u:更改显示/输入单元
v: 验证分区表
w:写入磁盘分区表并退出
x: 额外的功能
fdisk -l 显示磁盘分区表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [iyunv@linux ~]# fdisk -l
Disk /dev/sda: 128.8 GB, 128849018880 bytes, 251658240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0002ef8d
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 84912127 41943040 83 Linux
/dev/sda3 84912128 126855167 20971520 83 Linux
/dev/sda4 126855168 251658239 62401536 5 Extended
/dev/sda5 126859264 131055615 2098176 82 Linux swap / Solaris
|
1
2
3
| [iyunv@linux ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5
[iyunv@linux ~]#
|
注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;我们通过相下面的方法查看
①查看:cat /proc/partitions
1
2
3
4
5
6
7
8
9
| [iyunv@linux ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 512000 sda1
8 2 41943040 sda2
8 3 20971520 sda3
8 4 1 sda4
8 5 2098176 sda5
11 0 1048575 sr0
|
**********************************************************************************
②通知内核强制重读磁盘分区表:
CentOS 5:partprobe [device]
CentOS 6,7:partx, kpartx
partx -a [device]
kpartx -af [device]
1
2
3
4
5
6
7
8
9
10
11
12
| [iyunv@linux ~]# kpartx -a /dev/sda
device-mapper: reload ioctl on sda1 failed: Invalid argument
create/reload failed on sda1
device-mapper: reload ioctl on sda2 failed: Invalid argument
create/reload failed on sda2
device-mapper: reload ioctl on sda3 failed: Invalid argument
create/reload failed on sda3
device-mapper: reload ioctl on sda4 failed: Invalid argument
create/reload failed on sda4
device-mapper: reload ioctl on sda5 failed: Invalid argument
create/reload failed on sda5
[iyunv@linux ~]#
|
[注意]如果创建的分区确定保存后执行重读命令还是没有出现,那么就再次执行重读命令,就会出现的
分区创建工具:parted, sfdisk;
fdisk -s 显示帮助
fdisk -v 显示版本信息
*****************************************************************************
1
2
3
| [iyunv@linux ~]# fdisk -v
fdisk from util-linux 2.23.2
[iyunv@linux ~]#
|
fdisk -h 显示帮助
|
|