日常工作中使用较多的是,给一个系统增加磁盘,然后再给磁盘划分分区,再进行挂载。 接下来给虚拟机系统增加一个磁盘,直接在虚拟机抬头那边右击,选择“设置”, 跳出下图窗口,选择“内存”这一行,然后点击“增加”, 又跳出一个窗口,选择“硬盘”,点击“下一步”, 下图这边保持默认,选择“下一步”, 接着点击“下一步”, 磁盘大小这边改为 10 GB,然后点击“下一步”, 默认文件名为 lyslinux-01-0.vmdk,点击“完成”, 可以看到 硬件 这边多了个 新硬盘 ,点击“确定”即可。 其实在服务器上,是支持热拔插硬盘的,也就是说,一块硬盘,可以在开机的状态下,直接把硬盘插上去,系统就能识别。但是在虚拟机上不能识别。 怎么查看硬盘,见下图, 上图中 -l 选项可以把目前系统里面有的磁盘列出来,只显示了一个磁盘,很明显新磁盘没有列出来,这时候需要重启系统,输入命令 reboot ,回车,等待重启。 接着用命令 fdisk -l 查看,见下图, 现在可以识别到新插入的硬盘了,叫 /dev/sdb 。 fdisk 命令除了可以查看磁盘数量等信息,还可以给磁盘分区,fdisk 后面加上磁盘名字,见下图, 以上英文,可以自行复制粘贴到 google 翻译上查看,这边只说几个常用的用法,分别是 n p w d 。n 是 new ,增加一个新的分区;p 是 print ,列出来的意思;w 是 write ,保存的意思;d 是 delete ,删除的意思。 先用 p 来看一下,见下图, 没有看到任何分区,再用 n 来查看,跳出两个选项,p 为主分区,e 为扩展分区。接下来说说关于分区的类型,这个概念和 windows 类似,用 fdisk 划分的分区,有一个格式,叫做 mbr 。它有一个特点,最高支持 2 TB ,超过 2 T 就不能使用 fdisk 划分分区,而且分区最多只能4个主分区。如果想划分多个分区,就需要先划分3个主分区,剩下的1个分区为扩展分区,再通过扩展分区来划分多个分区,这些分区为逻辑分区。 有一个公式,主分区+扩展分区≤4 。扩展分区一般为 1 或 0 。 现在来划分一下4个主分区,见下图, 以上,设置了4个主分区,除了 Last 扇区设置了大小,其余设置均为默认。最后再尝试使用命令 n 来增加一个分区,显示不能增加,除非删除掉一个主分区,才能再增加进去。那我们就删除掉一个主分区吧,见下图, 删掉了主分区4,再增加一个新的扩展分区4,给它设置了 5G 的大小。使用命令 p 可以查看分区情况,其中 Blocks 可以查看到分区的大小,就是刚才设置的数值。Id 号是查看分区的类型,83 就是 Linux 的主分区或是逻辑分区,5 是拓展分区。接下来再试一下,创建新的分区,见下图, 会发现提醒变了,不能添加新的主分区,可以添加逻辑分区。再添加一个分区,见下图, 上图中有6个分区了,3个主分区,1个扩展分区,2个逻辑分区。现在来删除一个主分区,见下图, 再来删一个逻辑分区,见下图, 会发现”设备 Boot“中还有一个 sdb5 ,但是这个 sdb5 和上面的 sdb5 是不一样的,可以看一下”Start“和“End”的数值来区别,原来的 sdb6 变成现在的 sdb5 。也就是说,即使删除了一个逻辑分区,这个分区号是不会留空的,必须要连续。 现在把所有的操作都取消,输入命令 w ,就是保存。输入命令 q ,就单纯的退出,没有保存。 输入命令 fdisk /dev/sdb ,回车,见下图, 可以看到,没有任何分区。接着再重新进行分区,见下图, 这次先设置扩展分区,接着再新增分区的时候,出现的提示不一样了,l 是逻辑分区的意思。接着下图, 现在来看一下分区号,刚才设置主分区的时候,略过 2 直接设置为 3 ,也就是说 2 留空了。但是这边也没有 4 ,接下来就是 5 了,这边 4 也留空了。逻辑分区这边有一个特点,一定是从 5 开始的,前面 4 个分区号是留给主分区和扩展分区的。而且逻辑分区一定是连续的,不能像主分区那样可以留空。接下来多建几个逻辑分区,见下图, 现在可以看到有 5、6、7、8 四个逻辑分区。现在来删掉一个中间的 6 ,见下图, 可以看到 6 还在,少了 8 。逻辑分区号就是一定要连续着的,主分区和扩展分区就可以不连续。现在输入字母“q”,回车,退出来。输入命令 fdisk -l ,回车, 可以看到磁盘 /dev/sdb 没有分区,现在重新做一下分区,见下图, 上图中,输入 w ,保存退出。然后输入命令 fdisk -l ,回车,见下图, 可以看到磁盘有一个分区 sdb1 。假如现在又不想要这个分区了,就可以通过重新分区来改变,见下图, 将分区 sdb1 删除掉,保存退出,即可。 上面关于扩展分区和逻辑分区的关系,应该可以看出来,扩展分区起作用的是逻辑分区。扩展分区本身不占用空间,占用空间的是逻辑分区,并且扩展分区本身不支持格式化,不能在扩展分区里面直接写数据,逻辑分区里面才可以写数据。