最近接觸一些新的服務器,都涉及到系統安裝好需要對硬盤進行分區并且掛載的問題,以下利用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的新增硬盤的分區和掛載目錄,修改系統配置和更改掛載目錄的操作介紹完畢。各位看官有不懂的歡迎留言,彼此一起交流,共同進步。