Linux磁盘概念及其管理工具fdisk:http://www.linuxidc.com/Linux/2016-08/134664.htm
一、基本介绍
- Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux种每个分区都是用来组成整个文件系统的一部分。
- Linux采用了一种叫做‘载入’的处理方法,它的整个文件系统种包含了一整套的文件和目录,且将一个分区和一个目录链接起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
- MBR分区表最多支持4个分区,4个Primary主分区或3个Primary主分区和一个Extended扩展分区,如果要把磁盘分区成四个分区: P+P+P+P 或者 P+P+P+E
- 上面的情况中,3P+E只有三个主分区可用,因为Extended不能被格式化作为数据访问的分区,还需要进一步分区成逻辑分区(Logical Partion),扩展分区一块磁盘只能有一个逻辑分区没有数量限制,默认盘号从sdb5开始。
- 硬盘说明: Linux硬盘分IDE硬盘和SCSI硬盘,目前主要是SCSI硬盘。对于IDE硬盘,驱动器标识符为‘hdx~’,其中‘hd’表名分区所在设备的类型为IDE硬盘。‘x’为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),‘~’代表分区,前四个分区用数字1到4标识,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2为第二个IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为’sdx~’,SCSI硬盘用’sd’来表示分区所在设备的类型,其余则和IDE硬盘表示方法一样。
二、经典的挂载案例:
- 虚拟机添加硬盘 :在虚拟机菜单中选择【设置】,然后设备列表例添加硬盘,然后一路【下一步】,中间选择磁盘大小的地方修改,最后选择【完成】。然后重启系统后才能识别硬盘。
- 分区:使用fdisk工具对硬盘进行分区。
- 格式化:使用mkfs工具把分区格式化为ext4类型。
- 挂载:创建挂载点,将分区挂载到挂载点上。
- 卸载:取消分区于挂载点目录的联系。
- 永久性挂载
三、实际操作
2. 使用lsblk 或 lsblk -f 查看设备挂载情况。此时已经可以看到磁盘已经添加到系统中了,对应目录为/dev/sdb
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 17G 0 part / └─sda3 8:3 0 2G 0 part [SWAP] sdb 8:16 0 4G 0 disk sr0 11:0 1 4.3G 0 rom
[root@sgcEdu01 ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 f697799f-dd31-4dea-aff0-df2918adec22 /boot ├─sda2 ext4 b1ef1368-3350-42c9-9d3b-e3095bb399f4 / └─sda3 swap 4af7ce89-c362-4f53-a8f5-3990e169fa4f [SWAP] sdb sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
使用fdisk工具对磁盘sdb进行分区,这里将磁盘分成4个区(P+P+E(L+ L))。主分区最多创建4个,分区号1-4。首先创建主分区。
1 [root@localhost ~]# fdisk /dev/sdb 2 欢迎使用 fdisk (util-linux 2.23.2)。 3 4 更改将停留在内存中,直到您决定将更改写入磁盘。 5 使用写入命令前请三思。 6 7 Device does not contain a recognized partition table 8 使用磁盘标识符 0xe90cbf80 创建新的 DOS 磁盘标签。 9 10 命令(输入 m 获取帮助):m //输入m 获取全部命令 11 命令操作 12 a toggle a bootable flag 13 b edit bsd disklabel 14 c toggle the dos compatibility flag 15 d delete a partition 16 g create a new empty GPT partition table 17 G create an IRIX (SGI) partition table 18 l list known partition types 19 m print this menu 20 n add a new partition 21 o create a new empty DOS partition table 22 p print the partition table 23 q quit without saving changes 24 s create a new empty Sun disklabel 25 t change a partition's system id 26 u change display/entry units 27 v verify the partition table 28 w write table to disk and exit 29 x extra functionality (experts only) 30 31 命令(输入 m 获取帮助):n //输入 n 创建新分区 32 Partition type: 33 p primary (0 primary, 0 extended, 4 free) 34 e extended 35 Select (default p): p //输入p 创建主分区 36 分区号 (1-4,默认 1):1 //输入 1 37 起始 扇区 (2048-8388607,默认为 2048)://回车,使用默认扇区2048 38 将使用默认值 2048 39 Last 扇区, +扇区 or +size{K,M,G} (2048-8388607,默认为 8388607):+1G //输入+1G ,设置1G大小 40 分区 1 已设置为 Linux 类型,大小设为 1 GiB 41 42 命令(输入 m 获取帮助):n //输入n,再创建一个1G大小主分区 43 Partition type: 44 p primary (1 primary, 0 extended, 3 free) 45 e extended 46 Select (default p): p 47 分区号 (2-4,默认 2):2 48 起始 扇区 (2099200-8388607,默认为 2099200): 49 将使用默认值 2099200 50 Last 扇区, +扇区 or +size{K,M,G} (2099200-8388607,默认为 8388607):+1G 51 分区 2 已设置为 Linux 类型,大小设为 1 GiB 52 53 命令(输入 m 获取帮助):p //输入p,查看分区情况 54 55 磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区 56 Units = 扇区 of 1 * 512 = 512 bytes 57 扇区大小(逻辑/物理):512 字节 / 512 字节 58 I/O 大小(最小/最佳):512 字节 / 512 字节 59 磁盘标签类型:dos 60 磁盘标识符:0xe90cbf80 61 62 设备 Boot Start End Blocks Id System 63 /dev/sdb1 2048 2099199 1048576 83 Linux 64 /dev/sdb2 2099200 4196351 1048576 83 Linux 65 66 命令(输入 m 获取帮助):w //输入w ,从内存写入,保存分区。 67 The partition table has been altered! 68 69 Calling ioctl() to re-read partition table. 70 正在同步磁盘。
创建扩展分区,再逻辑分区
1 [root@localhost ~]# fdisk /dev/sdb 2 欢迎使用 fdisk (util-linux 2.23.2)。 3 4 更改将停留在内存中,直到您决定将更改写入磁盘。 5 使用写入命令前请三思。 6 7 8 命令(输入 m 获取帮助):n //创建扩展分区 9 Partition type: 10 p primary (2 primary, 0 extended, 2 free) 11 e extended 12 Select (default p): e 13 分区号 (3,4,默认 3):4 14 起始 扇区 (4196352-8388607,默认为 4196352): 15 将使用默认值 4196352 16 Last 扇区, +扇区 or +size{K,M,G} (4196352-8388607,默认为 8388607): 17 将使用默认值 8388607 18 分区 4 已设置为 Extended 类型,大小设为 2 GiB 19 20 命令(输入 m 获取帮助):n //创建逻辑分区5 21 Partition type: 22 p primary (2 primary, 1 extended, 1 free) 23 l logical (numbered from 5) 24 Select (default p): l 25 添加逻辑分区 5 26 起始 扇区 (4198400-8388607,默认为 4198400): 27 将使用默认值 4198400 28 Last 扇区, +扇区 or +size{K,M,G} (4198400-8388607,默认为 8388607):+1G 29 分区 5 已设置为 Linux 类型,大小设为 1 GiB 30 31 命令(输入 m 获取帮助):n //创建逻辑分区6 32 Partition type: 33 p primary (2 primary, 1 extended, 1 free) 34 l logical (numbered from 5) 35 Select (default p): l 36 添加逻辑分区 6 37 起始 扇区 (6297600-8388607,默认为 6297600): 38 将使用默认值 6297600 39 Last 扇区, +扇区 or +size{K,M,G} (6297600-8388607,默认为 8388607): 40 将使用默认值 8388607 41 分区 6 已设置为 Linux 类型,大小设为 1021 MiB 42 43 命令(输入 m 获取帮助):w 44 The partition table has been altered! 45 46 Calling ioctl() to re-read partition table. 47 正在同步磁盘。
lsblk查看磁盘信息
1 [root@localhost ~]# lsblk 2 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 3 sda 8:0 0 20G 0 disk 4 ├─sda1 8:1 0 1G 0 part /boot 5 ├─sda2 8:2 0 17G 0 part / 6 └─sda3 8:3 0 2G 0 part [SWAP] 7 sdb 8:16 0 4G 0 disk 8 ├─sdb1 8:17 0 1G 0 part 9 ├─sdb2 8:18 0 1G 0 part 10 ├─sdb4 8:20 0 1K 0 part 11 ├─sdb5 8:21 0 1G 0 part 12 └─sdb6 8:22 0 1021M 0 part 13 sr0 11:0 1 4.3G 0 rom
3.格式化磁盘——使用mkfs工具将分区格式化为ext4文件格式
[root@localhost ~]# mkfs -t ext4 /dev/sdb1 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (8192 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
其他三个分区也这样做。
4.创建挂载点目录,将分区挂载。
[root@localhost /]# mkdir newdisk1 [root@localhost /]# mount /dev/sdb1 newdisk1
使用df -TH 命令查看分区挂载情况
[root@localhost /]# df -TH /newdisk1 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sdb1 ext4 1.1G 2.7M 951M 1% /newdisk1
umonut 设备名称 或者 挂载目录
例如:umonut /dev/sdb1 或者 umount /newdisk1
6.永久性挂载
系统重启之后又要手动挂载怎么办?
很简单,我们设置一下就OK了
vim /etc/fstab
编辑文件 将/dev/sdb1 /newdisk1 ext4 defaults 0 0 加入即可
提示:如果编辑fstab文件时写错了,重启机器后无法正常登录,屏幕出现紧急模式EmergencyMode提示时。可以重新输入root密码进入系统,将fstab文件重新修改正确即可重启正常登录。