最近接觸一些新的服務(wù)器,都涉及到系統(tǒng)安裝好需要對(duì)硬盤進(jìn)行分區(qū)并且掛載的問題,以下利用VMware構(gòu)建的測試虛擬機(jī)和一個(gè)U盤,介紹自己的操作和總結(jié)一些經(jīng)驗(yàn)。
使用VMware安裝好centos7之后,輸入lsblk ,可以看出系統(tǒng)所有可用的盤的信息。

備注:linux會(huì)根據(jù)設(shè)備類型對(duì)存儲(chǔ)設(shè)備進(jìn)行識(shí)別,對(duì)于SATA,USB或SCSI設(shè)備,第一個(gè)設(shè)備會(huì)被識(shí)別為sda,第二個(gè)設(shè)備被識(shí)別為sdb,依此類推;對(duì)于分區(qū),linux使用數(shù)字來表示,第一塊SATA硬盤的第一個(gè)分區(qū)為sda1,第二個(gè)分區(qū)為sda2,第二塊硬盤的第一個(gè)分區(qū)叫sdb1,第二個(gè)分區(qū)為sdb2。
了解這些之后,插入U(xiǎn)盤,然后虛擬機(jī)會(huì)彈出一個(gè)提示框,顯示檢測到新的USB設(shè)備

如果沒彈框,可能是U盤損壞或者VM的設(shè)置有問題,點(diǎn)擊【編輯】-【首選項(xiàng)】查看一下

選擇將USB設(shè)備連接到我的虛擬機(jī)上,這時(shí)候我的主機(jī)顯示以下內(nèi)容:

百度翻譯過來大體意思

還沒弄懂,不過不影響接下來的操作。
輸入命令 lsblk,檢測系統(tǒng)所有可用的盤和信息:

這時(shí)候我們看到多出了一個(gè)sdb 盤,這個(gè)就是我剛插進(jìn)去的U盤,接下來我先會(huì)對(duì)他分區(qū)然后再進(jìn)行掛載,有人會(huì)說,不分區(qū)直接掛載行不行,答案是可以的,不過分區(qū)類似windows分硬盤,便于管理而已,不過在正式環(huán)境,一般會(huì)對(duì)他進(jìn)行分區(qū)。
- 分區(qū)操作
輸入 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):
根據(jù)提示,輸入m #輸入m命令獲取幫助
提示
Command action
a toggle a bootable flag #切換分區(qū)啟動(dòng)標(biāo)記
b edit bsd disklabel #編輯psd磁盤標(biāo)簽
c toggle the dos compatibility flag
d delete a partition #刪除分區(qū)
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types #顯示分區(qū)類型,就相當(dāng)于
m print this menu #顯示幫助菜單
n add a new partition #新建分區(qū)
o create a new empty DOS partition table
p print the partition table #顯示分區(qū)表信息
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命令新建分區(qū)
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #選擇p 設(shè)置為主分區(qū)
Partition number (1-4, default 1): 1
First sector (2048-61784063, default 2048): #輸入回車,默認(rèn)從2048的扇區(qū)進(jìn)行分區(qū)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-61784063, default 61784063): #輸入回車默認(rèn)全部容量
Using default value 61784063
Partition 1 of type Linux and of size 29.5 GiB is set
Command (m for help): p #p命令顯示分區(qū)表信息
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

已經(jīng)分區(qū)成功
這個(gè)時(shí)候可以看到sdb已經(jīng)有一個(gè)分區(qū)了,如果想刪除分區(qū),輸入 fisk /dev/sdb 然后根據(jù)提示輸入即可
掛載的操作
對(duì)磁盤進(jìn)行分區(qū)后,接下來需要格式化與掛載文件系統(tǒng)。根據(jù)上文說的 /dev/sdb1 盤,我們進(jìn)行格式化操作,此時(shí)需要mkfs命令來進(jìn)行格式化,這里要介紹以下文件系統(tǒng),文件系統(tǒng)是操作系統(tǒng)用于存儲(chǔ)設(shè)備或分區(qū)的文件的方法和數(shù)據(jù)結(jié)構(gòu)。在Centos中文件系統(tǒng)有xfs,ext4,ext3(centos7.0開始默認(rèn)文件系統(tǒng)是xfs,centos6是ext4,centos5是ext3),查看文件系統(tǒng)的命令可以用 lsblk -f
[root@cogent ~]# mkfs.xfs /dev/sdb1 #將/dev/sdb1 格式化為xfs文件系統(tǒng)
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 參數(shù)強(qiáng)制重寫
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 ~]#
格式化后,需要我們手動(dòng)掛載文件系統(tǒng),使用命令mount或者修改系統(tǒng)配置文件/etc/fstab兩種方式。輸入命令的方法弊端是重啟后,需要重新手動(dòng)掛載,修改配置的方法在計(jì)算機(jī)重啟后仍然有效。
方法一:利用mount 命令掛載,依次執(zhí)行以下命令:
mkdir /data
mount /dev/sdb1 /data
lsblk

這時(shí)候可以看到 已經(jīng)掛載到/data 目錄下,為了使掛載的方式重啟仍然有效,我們還需要修改/etc/fstab 配置,文件有六列,第一列為設(shè)備名稱或者設(shè)備標(biāo)簽,第二列為掛載目錄的名稱,第三列為文件類型,第四列為掛載屬性,第五列指定該文件系統(tǒng)是否使用dump進(jìn)行備份(0表示不備份,1表示每天備份),第六列制定該文件系統(tǒng)在開機(jī)后使用fsck程序進(jìn)行磁盤檢測的順序(根文件系統(tǒng)需要指定為1,其他文件系統(tǒng)一般為2,如果為0,則表示不需要磁盤檢測)
vim /etc/fstab
添加
/dev/sdb1 /data xfs defaults 0 0
按:wq 保存,此時(shí)進(jìn)行reboot
重啟后發(fā)現(xiàn)開機(jī)提示以下界面,這是進(jìn)入到linux的緊急模式,這一般是配置的信息有誤,系統(tǒng)無法正常開機(jī)

centos緊急模式
輸入root密碼,再vim /etc/fstab ,查看,發(fā)現(xiàn)是磁盤寫錯(cuò)為/dev/sfb1,修改后再保存配置重啟一遍,正常進(jìn)入系統(tǒng)
取消掛載的操作
取消掛載的命令: 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 #查看進(jìn)程
ps -ef |grep 進(jìn)程號(hào)
kill -9 進(jìn)程號(hào)
執(zhí)行多一次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 #因?yàn)槲疫M(jìn)入到/data 目錄,所以有個(gè)進(jìn)程,只需要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 #再執(zhí)行一次
[root@cogent ~]# lsblk #看到/dev/sdb1 沒有掛載點(diǎn)
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 #創(chuàng)建yuan目錄
[root@cogent ~]# mount /dev/sdb1 /yuan/ 掛載到y(tǒng)uan目錄下
[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 ~]#
至此,關(guān)于centos7的新增硬盤的分區(qū)和掛載目錄,修改系統(tǒng)配置和更改掛載目錄的操作介紹完畢。各位看官有不懂的歡迎留言,彼此一起交流,共同進(jìn)步。