最近接触一些新的服务器,都涉及到系统安装好需要对硬盘进行分区并且挂载的问题,以下利用VMware构建的测试虚拟机和一个U盘,介绍自己的操作和总结一些经验。
使用VMware安装好centos7之后,输入lsblk ,可以看出系统所有可用的盘的信息。
备注:linux会根据设备类型对存储设备进行识别,对于SATA,USB或SCSI设备,第一个设备会被识别为sda,第二个设备被识别为sdb,依此类推;对于分区,linux使用数字来表示,第一块SATA硬盘的第一个分区为sda1,第二个分区为sda2,第二块硬盘的第一个分区叫sdb1,第二个分区为sdb2。
了解这些之后,插入U盘,然后虚拟机会弹出一个提示框,显示检测到新的USB设备
如果没弹框,可能是U盘损坏或者VM的设置有问题,点击【编辑】-【首选项】查看一下
选择将USB设备连接到我的虚拟机上,这时候我的主机显示以下内容:
百度翻译过来大体意思
还没弄懂,不过不影响接下来的操作。
输入命令 lsblk,检测系统所有可用的盘和信息:
这时候我们看到多出了一个sdb 盘,这个就是我刚插进去的U盘,接下来我先会对他分区然后再进行挂载,有人会说,不分区直接挂载行不行,答案是可以的,不过分区类似windows分硬盘,便于管理而已,不过在正式环境,一般会对他进行分区。
输入 fdisk /dev/sdb,提示
[root@cogent ~]# fdisk /dev/sdb
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):
根据提示,输入m #输入m命令获取帮助
提示
Command action
a toggle a bootable flag #切换分区启动标记
b edit bsd disklabel #编辑psd磁盘标签
c toggle the dos compatibility flag
d delete a partition #删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types #显示分区类型,就相当于
m print this menu #显示帮助菜单
n add a new partition #新建分区
o create a new empty DOS partition table
p print the partition table #显示分区表信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit #保存并退出
x extra functionality (experts only)
Command (m for help): n #输入n命令新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #选择p 设置为主分区
Partition number (1-4, default 1): 1
First sector (2048-61784063, default 2048): #输入回车,默认从2048的扇区进行分区
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-61784063, default 61784063): #输入回车默认全部容量
Using default value 61784063
Partition 1 of type Linux and of size 29.5 GiB is set
Command (m for help): p #p命令显示分区表信息
Disk /dev/sdb: 31.6 GB, 31633440768 bytes, 61784064 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: 0xaaa75e9c
Device Boot Start End Blocks Id System
/dev/sdb1 2048 61784063 30891008 83 Linux
Command (m for help): w # 输入W命令保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
输入lsblk
已经分区成功
这个时候可以看到sdb已经有一个分区了,如果想删除分区,输入 fisk /dev/sdb 然后根据提示输入即可
挂载的操作
对磁盘进行分区后,接下来需要格式化与挂载文件系统。根据上文说的 /dev/sdb1 盘,我们进行格式化操作,此时需要mkfs命令来进行格式化,这里要介绍以下文件系统,文件系统是操作系统用于存储设备或分区的文件的方法和数据结构。在Centos中文件系统有xfs,ext4,ext3(centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3),查看文件系统的命令可以用 lsblk -f
[root@cogent ~]# mkfs.xfs /dev/sdb1 #将/dev/sdb1 格式化为xfs文件系统
mkfs.xfs: /dev/sdb1 Appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
[root@cogent ~]# mkfs.xfs /dev/sdb1 -f # 加入 -f 参数强制重写
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1930688 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=7722752, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=3770, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@cogent ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 1 29.5G 0 disk
└─sdb1 8:17 1 29.5G 0 part
sr0 11:0 1 918M 0 rom
[root@cogent ~]# lsblk -f #查看文件类型
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs ec510ca1-f86e-432a-82c1-5e54460e1e6c /boot
└─sda2 LVM2_member RTfj8G-euWz-wFqW-etAV-PJGu-PyVd-uZwyFz
├─centos-root xfs 5dc99d36-ae13-43c5-b415-0e54de3272d4 /
└─centos-swap swap c51e3ad7-3b65-4057-9506-9a103cd5011c [SWAP]
sdb
└─sdb1 xfs be1c5b4e-683f-489f-b8f7-db98885598c6
sr0 iso9660 CentOS 7 x86_64 2018-11-25-21-21-31-00
[root@cogent ~]#
格式化后,需要我们手动挂载文件系统,使用命令mount或者修改系统配置文件/etc/fstab两种方式。输入命令的方法弊端是重启后,需要重新手动挂载,修改配置的方法在计算机重启后仍然有效。
方法一:利用mount 命令挂载,依次执行以下命令:
mkdir /data
mount /dev/sdb1 /data
lsblk
这时候可以看到 已经挂载到/data 目录下,为了使挂载的方式重启仍然有效,我们还需要修改/etc/fstab 配置,文件有六列,第一列为设备名称或者设备标签,第二列为挂载目录的名称,第三列为文件类型,第四列为挂载属性,第五列指定该文件系统是否使用dump进行备份(0表示不备份,1表示每天备份),第六列制定该文件系统在开机后使用fsck程序进行磁盘检测的顺序(根文件系统需要指定为1,其他文件系统一般为2,如果为0,则表示不需要磁盘检测)
vim /etc/fstab
添加
/dev/sdb1 /data xfs defaults 0 0
按:wq 保存,此时进行reboot
重启后发现开机提示以下界面,这是进入到linux的紧急模式,这一般是配置的信息有误,系统无法正常开机
centos紧急模式
输入root密码,再vim /etc/fstab ,查看,发现是磁盘写错为/dev/sfb1,修改后再保存配置重启一遍,正常进入系统
取消挂载的操作
取消挂载的命令: umount /dev/sdb1
如果提示
umount: /data: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
解决方案:
yum install -y psmisc #安装fuser命令
fuser -m /dev/sdb1 #查看进程
ps -ef |grep 进程号
kill -9 进程号
执行多一次umount /dev/sdb1
以下是操作记录
[root@cogent data]# umount /dev/sdb1
umount: /data: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@cogent data]# fuser -m /dev/sdb1
/dev/sdb1: 19303c
[root@cogent data]# ps -ef |grep 19303
root 19303 19288 0 09:31 pts/0 00:00:00 -bash #因为我进入到/data 目录,所以有个进程,只需要cd 其他目录即可
root 51972 19303 0 11:03 pts/0 00:00:00 ps -ef
root 51973 19303 0 11:03 pts/0 00:00:00 grep --color=auto 19303
[root@cogent data]# cd #离开data目录
[root@cogent ~]# umount /dev/sdb1 #再执行一次
[root@cogent ~]# lsblk #看到/dev/sdb1 没有挂载点
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 1 29.5G 0 disk
└─sdb1 8:17 1 10G 0 part
sr0 11:0 1 918M 0 rom
[root@cogent ~]# mount /dev/sdb1 /data2
mount: mount point /data2 does not exist
[root@cogent ~]# mkdir /yuan #创建yuan目录
[root@cogent ~]# mount /dev/sdb1 /yuan/ 挂载到yuan目录下
[root@cogent ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 1 29.5G 0 disk
└─sdb1 8:17 1 10G 0 part /yuan
sr0 11:0 1 918M 0 rom
[root@cogent ~]#
至此,关于centos7的新增硬盘的分区和挂载目录,修改系统配置和更改挂载目录的操作介绍完毕。各位看官有不懂的欢迎留言,彼此一起交流,共同进步。