有时候我们需要在VMware 中添加新的虚拟磁盘。 比如原来已经有sda盘,现在我们需要新的空白sdb盘。
方法如下:
VMware新增磁盘的设置步骤
(建议:在设置虚拟的时候,不要运行虚拟机的系统,不然添加了新的虚拟磁盘则要重启虚拟机)
1、选择“VM”—-“设置”并打开,将光标定位在硬盘这一选项,然后点击下方的添加按钮
点击下一步,执行下一个步骤
按照默认的,选择SCSI格式的磁盘即可,点击执行下一步
创建新的虚拟磁盘
按照需要的空间配置,点击下一步即可完成虚拟磁盘的添加
默认指定磁盘文件
如下添加完成:
重新分区和挂载
新增的磁盘也可参考如下步骤,不过只要从新增n步骤开始即可。 不需要有删除的动作。
目标是使用 fdisk /dev/sda 删除/dev/sda2,新建 11G的sda2 和 10G的sda3。
步骤如下:
注意,分区是危险操作,请注意备份。
查看磁盘情况,使用命令
sudo fdisk -l
输出如下:
[zzq@ceph2 ~]$ sudo fdisk -l
[sudo] password for zzq:
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00092a44
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/mapper/vg_localhost-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_localhost-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
卸下分区
cd /home/
sudo umount /dev/sda2
# 如果 umount 出现 device is busy,使用命令fuser -m /dev/sda2查看读写磁盘的pid,找出来kill之
我们这里将sda的21.5GB重新分区,使用命令
sudo fdisk /dev/sda
此时要输入命令,m 帮助菜单 \ p 该整磁盘详细信息 \ d 删除分区 \ n 添加分区
我们的命令步骤如下:
d #删除动作\选择删除的区号2\n #新建分区\p 选择类型为primary partition\选择分区为2\直接回车从默认的磁盘扇区开始即可\输入 +11G 回车 #懒得计算扇区,可以照提示使用”+容量”的方式
这样就完成了新建11G的sda2分区。
n #新建分区\p 选择类型为primary partition\选择分区为3\直接回车从默认的磁盘扇区开始即可\直接回车 #使用所有剩余的容量作为sda3的容量
这样就完成了新建10G的sda3分区。
使用p命令再次查看分区表
确认无误后使用 w命令写入磁盘即可(危险操作,需谨慎确认无误),如果有误的话 使用q命令不保存退出。
输出如下:
[zzq@ceph2 home]$ sudo fdisk /dev/sda
[sudo] password for zzq:
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): d #删除动作
Partition number (1-4): 2
Command (m for help): n #新建分区
Command action
e extended
p primary partition (1-4)
p #选择类型为primary partition
Partition number (1-4): 2 #选择分区为2
First cylinder (64-2610, default 64):
Using default value 64
Last cylinder, +cylinders or +size{K,M,G} (64-2610, default 2610): +11G
Command (m for help): n #新建分区
Command action
e extended
p primary partition (1-4)
p #选择类型为primary partition
Partition number (1-4): 3 #选择分区为3
First cylinder (1501-2610, default 1501):
Using default value 1501
Last cylinder, +cylinders or +size{K,M,G} (1501-2610, default 2610):
Using default value 2610
Command (m for help): p #查看现在的分区情况
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00092a44
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 1500 11535726 83 Linux
/dev/sda3 1501 2610 8916075 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[zzq@ceph2 home]$
看到上面的warning报错别紧张,回到shell后看看是否重新分区成功
使用命令
sudo fdisk -l
输出如下:
[zzq@ceph2 home]$ sudo fdisk -l
[sudo] password for zzq:
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00092a44
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 1500 11535726 83 Linux
/dev/sda3 1501 2610 8916075 83 Linux
Disk /dev/mapper/vg_localhost-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_localhost-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
这个时候分区是不能被系统识别的,需要强制重读
否则在格式化和使用时会报错
Could not stat /dev/sda2 — No such file or directory
The device apparently does not exist; did you specify it correctly?
通知内核强制重读磁盘分区表:
CentOS 5,6,7:partprobe,partx, kpartx
partprobe [device]
partx -a [device]
kpartx -af [device]
我们这里是centos 6,使用命令,注意 device的参数使用的是顶层,比如我们划分了/dev/sda的sda2和sda3使用的参数应该是/dev/sda,否则报错last arg is not the whole disk
sudo partx -a /dev/sda
如果报错
[zzq@ceph2 home]$ sudo partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
试试partprobe
sudo partprobe
警告如下:
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.
那我们只能重启,重启之前需要删除已经失效的UUID挂载和永久的挂载新分区,使用命令
否则会报错
目录对应的设备/dev/sda2已经被删除了,如果/etc/fstab中还存在着旧信息,开机会提示您:
fsck.ext4: unable to resolve ‘uuid=000120ad–6480-40ba-9a64-3d5c27d1ff96’……然后无法进入系统
sudo vi /etc/fstab
输出如下:
# /etc/fstab
# Created by anaconda on Mon Mar 20 01:50:54 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_localhost-lv_root / ext4 defaults 1 1
UUID=d79fc2d2-0dba-4681-b7d3-b727930427e3 /boot ext4 defaults 1 2
/dev/mapper/vg_localhost-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
没有sda2的相关信息。所以不需要删除什么,新增两个挂载信息如下
/dev/sda2 /home ext4 defaults 0 0
/dev/sda3 /ceph ext4 defaults 0 0
相关参数
/etc/fstab下面分为6个字段:
1、要挂载的设备(可以使用LABEL、UUID、设备文件)
2、挂载点
3、文件系统类型
4、挂载选项(defaults使用默认挂载选线,如需同时指明,则:defaults,acl)
5、转储频率
0:从不备份
1:每天备份
2:每隔一天备份
6、自检次序
0:不自检
1:首先自检,通常只用于根文件系统
2:次级自检
重启
sudo reboot -h
格式化
要想使用新的分区,首先要对新创的分区进行格式化,才能用于创建文件系统
使用命令
sudo mkfs -t ext4 /dev/sda2
sudo mkfs -t ext4 /dev/sda3
两种挂载方式
下面便是对于分好区的/dev/sdb1 这一个分区进行挂载及访问
注意挂载到的目录必须提前新建好
使用命令
cd /
sudo mkdir -p ./ceph
手动挂载
使用mount /dev/sdb1 /要挂载的目录(自己自定义)
访问时:cd /挂载的目录 即可对其进行存储和访问
自动挂载
修改/etc/fstab即可
使用vim /etc/fstab打开配置的文件,然后将下面的一行文字添加即可
/dev/sdb1 /media(这个挂载的目录你自己设置即可) ext4 defaults 0 1