91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux磁盤(pán)格式化和掛載介紹

阿銘linux ? 來(lái)源:阿銘linux ? 作者:阿銘 ? 2022-10-28 09:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

7.3格式化磁盤(pán)分區(qū)

磁盤(pán)分區(qū)雖然分好區(qū)了,但暫時(shí)還不能用,我們還須對(duì)每一個(gè)分區(qū)進(jìn)行格式化。

所謂格式化,其實(shí)就是安裝文件系統(tǒng),Windows下的文件系統(tǒng)有FAT32和NTFS。前面章節(jié)中,阿銘介紹過(guò)Rocky 8以XFS作為默認(rèn)的文件系統(tǒng),但我們依然可以給它指定ext3或者ext4格式。

7.3.1命令mke2fsmkfs.ext2mkfs.ext3mkfs.ext4mkfs.xfs

當(dāng)用man命令查詢前4個(gè)命令的幫助文檔時(shí),你會(huì)發(fā)現(xiàn)我們看到的是同一個(gè)幫助文檔,這說(shuō)明這4個(gè)命令是一樣的。下面我們以mke2fs命令為例進(jìn)行介紹。

mke2fs命令常用的選項(xiàng)如下所示。

-b:表示分區(qū)時(shí)設(shè)定每個(gè)數(shù)據(jù)區(qū)塊占用的空間大小。目前,每個(gè)數(shù)據(jù)塊支持1024B、2048B以及4096B。

-i:表示設(shè)定inode的大小。

-N:表示設(shè)定inode的數(shù)量。有時(shí)默認(rèn)的inode數(shù)不夠用,所以要自定義inode的數(shù)量。

-c:表示在格式化前先檢測(cè)一下磁盤(pán)是否有問(wèn)題。加上這個(gè)選項(xiàng)后,運(yùn)行速度會(huì)非常慢。

-L:表示預(yù)設(shè)該分區(qū)的標(biāo)簽(label)。

-j:表示建立ext3格式的分區(qū)。如果使用mkfs.ext3格式,就不用加這個(gè)選項(xiàng)了。

-t:用來(lái)指定文件系統(tǒng)的類型,可以是ext2、ext3 ,也可以是ext4。示例命令如下:

# mke2fs -t ext4 /dev/sda5
mke2fs 1.45.6 (20-Mar-2020)
創(chuàng)建含有 256000 個(gè)塊(每塊 4k)和 64000 個(gè)inode的文件系統(tǒng)
文件系統(tǒng)UUID:15043836-eee8-4d62-81f1-6e6fab5b6304
超級(jí)塊的備份存儲(chǔ)于下列塊:
        32768, 98304, 163840, 229376


正在分配組表:完成
正在寫(xiě)入inode表:完成
創(chuàng)建日志(4096 個(gè)塊)完成
寫(xiě)入超級(jí)塊和文件系統(tǒng)賬戶統(tǒng)計(jì)信息:已完成

指定文件系統(tǒng)格式為ext4時(shí),命令mke2fs -t ext4 /dev/sdb5等同于mkfs.ext4 /dev/sdb5。然而,mke2fs并不支持把分區(qū)格式化成XFS類型,而只能使用mkfs.xfs,示例命令如下:

#mke2fs-txfs/dev/sda6
mke2fs 1.45.6 (20-Mar-2020)


你的mke2fs.conf文件中沒(méi)有定義類型 xfs 的文件系統(tǒng)。
正在終止...
[root@aminglinux01 ~]# mkfs.xfs  /dev/sda6
meta-data=/dev/sda6              isize=512    agcount=4, agsize=64000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=256000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1566, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

在上例中,你是否注意到“塊大小=4096”或者bsize=4096這項(xiàng)指標(biāo)呢?這里涉及“塊”的概念。磁盤(pán)在格式化的時(shí)候,會(huì)預(yù)先規(guī)定好每一個(gè)塊的大小,然后再把所有的空間分割成一個(gè)一個(gè)的小塊。存數(shù)據(jù)的時(shí)候,也是一個(gè)塊一個(gè)塊地寫(xiě)入。如果你的磁盤(pán)里存儲(chǔ)的都是特別小的文件,比如說(shuō)1KB或者2KB,阿銘建議你在格式化磁盤(pán)時(shí)指定塊數(shù)值小一點(diǎn)。

ext4文件系統(tǒng)的默認(rèn)塊大小為4096B(即4KB)。在格式化時(shí),可以指定塊大小為1024B、2048B或者4096B(它們是成倍增加的)。雖然格式化時(shí)可以指定塊大小超過(guò)4096B,但一旦超過(guò)4096B,就不能正常掛載。那么,如何指定塊大小呢?下面阿銘演示一下具體操作方法,如下所示:

# mke2fs -t ext4 -b 8192 /dev/sda5
警告:塊大小 8192 在很多系統(tǒng)中不可用。
mke2fs 1.45.6 (20-Mar-2020)
 /dev/sda5 有一個(gè) ext4 文件系統(tǒng)
        創(chuàng)建于 Wed Oct 26 2128 2022
Proceed anyway? (y,N) y
mke2fs: 8192字節(jié)的塊對(duì)于系統(tǒng)來(lái)說(shuō)太大(最大為 4096)
Proceed anyway? (y,N) y
警告:8192字節(jié)的塊對(duì)于系統(tǒng)來(lái)說(shuō)太大(最大為 4096),但仍然強(qiáng)制進(jìn)行操作
創(chuàng)建含有 128000 個(gè)塊(每塊 8k)和 64000 個(gè)inode的文件系統(tǒng)
文件系統(tǒng)UUID:eac5dc07-01db-4367-9200-7c3457048fe3
超級(jí)塊的備份存儲(chǔ)于下列塊:
        65528


正在分配組表: 完成
正在寫(xiě)入inode表: 完成
創(chuàng)建日志(4096 個(gè)塊)完成
寫(xiě)入超級(jí)塊和文件系統(tǒng)賬戶統(tǒng)計(jì)信息: 已完成

重新格式化sdb6時(shí),會(huì)提示這個(gè)分區(qū)已經(jīng)格式化過(guò)

# mkfs.xfs -b size=8192 /dev/sda6 
mkfs.xfs: /dev/sda6 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

加上-f選項(xiàng)即可

# mkfs.xfs -b size=8192 -f /dev/sda6
meta-data=/dev/sda6              isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=8192   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=8192   ascii-ci=0, ftype=1
log      =internal log           bsize=8192   blocks=1128, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime=noneextsz=8192blocks=0,rtextents=0

通過(guò)上面的小試驗(yàn)可以發(fā)現(xiàn),如果指定塊大小為8192B,會(huì)提示塊值設(shè)置得太大了,我們可以直接輸入y強(qiáng)制格式化。你還可以嘗試指定其他數(shù)字,但需要是1024的指數(shù)倍(1024、2048、4096或者8192)。

其中,mkfs.xfs用法有點(diǎn)特殊,你需要注意和mke2fs區(qū)分。另外,還可以給分區(qū)指定標(biāo)簽,如下所示:

mke2fs -L TEST -t ext4 /dev/sda5
mke2fs 1.45.6 (20-Mar-2020)
 /dev/sda5 有一個(gè) ext4 文件系統(tǒng)
        創(chuàng)建于 Wed Oct 26 2236 2022
Proceed anyway? (y,N) y
創(chuàng)建含有 256000 個(gè)塊(每塊 4k)和 64000 個(gè)inode的文件系統(tǒng)
文件系統(tǒng)UUID:7af471e2-da5a-4897-be4e-049c990f2d9c
超級(jí)塊的備份存儲(chǔ)于下列塊:
        32768, 98304, 163840, 229376


正在分配組表: 完成
正在寫(xiě)入inode表: 完成
創(chuàng)建日志(4096 個(gè)塊)完成
寫(xiě)入超級(jí)塊和文件系統(tǒng)賬戶統(tǒng)計(jì)信息: 已完成

這里我們可以使用-L選項(xiàng)來(lái)指定標(biāo)簽。標(biāo)簽會(huì)在掛載磁盤(pán)時(shí)使用,也可以寫(xiě)入配置文件,這個(gè)阿銘稍后介紹。

關(guān)于格式化的這部分內(nèi)容,阿銘建議你,除非有需求,否則不需要指定塊大小。也就是說(shuō),你只需要記住-t和-L這兩個(gè)選項(xiàng)即可。

7.3.2命令e2label

該命令用于查看或修改分區(qū)的標(biāo)簽,它只支持ext格式的文件系統(tǒng),而不支持XFS文件系統(tǒng)。這個(gè)命令阿銘很少使用,你只要了解一下即可。示例命令如下:

# e2label /dev/sda5
TEST
# e2label /dev/sda5 TEST123
# e2label /dev/sda5
TEST123

7.4掛載/卸載磁盤(pán)

前面我們講到了磁盤(pán)的分區(qū)和格式化,那么格式化完成后,如何使用這些磁盤(pán)呢?這就涉及掛載磁盤(pán)了。格式化后的磁盤(pán)其實(shí)是一個(gè)塊設(shè)備文件,類型為b。也許你會(huì)想,既然這個(gè)塊文件就是那個(gè)分區(qū),那么直接在那個(gè)文件中寫(xiě)數(shù)據(jù)不就可以寫(xiě)入那個(gè)分區(qū)了嗎?這當(dāng)然不行。

在掛載某個(gè)分區(qū)前,需要先建立一個(gè)掛載點(diǎn),這個(gè)掛載點(diǎn)是以目錄的形式出現(xiàn)的。一旦把某個(gè)分區(qū)掛載到這個(gè)掛載點(diǎn)(目錄)下,要再往這個(gè)目錄寫(xiě)數(shù)據(jù)時(shí),就都會(huì)寫(xiě)到該分區(qū)中。所以,在掛載該分區(qū)前,掛載點(diǎn)(目錄)下必須是個(gè)空目錄。

其實(shí)目錄不為空并不影響所掛載分區(qū)的使用,但一旦掛載上了,該目錄下以前的東西就看不到了(數(shù)據(jù)并沒(méi)有丟失),除非卸載該分區(qū)。

7.4.1命令mount

如果不加任何選項(xiàng),直接運(yùn)行mount命令,會(huì)顯示如下信息:

# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=897764k,nr_inodes=224441,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
none on /sys/kernel/tracing type tracefs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/rl-root on / type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=43,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=22907)
/dev/nvme0n1p1 on /boot type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=183320k,mode=700)

輸出的信息量有點(diǎn)大,大家先不用關(guān)心這些內(nèi)容的含義。使用這個(gè)命令,可以查看當(dāng)前系統(tǒng)已經(jīng)掛載的所有分區(qū)、分區(qū)文件系統(tǒng)的類型、掛載點(diǎn)及一些選項(xiàng)等信息。如果想知道某個(gè)已掛載分區(qū)的文件系統(tǒng)類型,直接用mount命令查看即可。

而未掛載的分區(qū),怎么看呢,大家可以使用blkid命令查看,后面會(huì)講到它。下面我們先建立一個(gè)空目錄,然后在目錄里建一個(gè)空白文檔。示例命令如下:

# mkdir /newdir
# touch /newdir/newfile.txt
# ls /newdir/
newfile.txt

然后把剛才格式化的/dev/sda5掛載到/newdir上,如下所示:

# mount /dev/sda5 /newdir/
# ls /newdir/
lost+found
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p1      1014M  194M  821M   20% /boot
/dev/sda5            969M  2.5M  900M    1% /newdir

把/dev/sda5掛載到/newdir后,原來(lái)在/newdir下的newfile.txt就看不到了,通過(guò)命令df -h命令可以查看剛剛掛載的分區(qū)。

我們也可以使用LABEL的方式掛載分區(qū),如下所示:

# umount /newdir/
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p1      1014M  194M  821M   20% /boot
# mount LABEL=TEST123 /newdir
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p1      1014M  194M  821M   20% /boot
/dev/sda5            969M  2.5M  900M    1% /newdir

本例中用到了umount命令,這個(gè)命令是用來(lái)卸載磁盤(pán)分區(qū)的,阿銘稍后介紹。

mount命令常用的選項(xiàng)有-a、-t和-o。在介紹-a選項(xiàng)前,我們需要先了解一下/etc/fstab這個(gè)文件。

7.4.2/etc/fstab配置文件

我們先來(lái)查看一下/etc/fstab文件的內(nèi)容,如下所示:

#cat/etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jun  3 1931 2022
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=21f78c94-6652-406f-9f3a-57bd1cdc719f /boot                   xfs     defaults        0 0
/dev/mapper/rl-swap     none                    swap    defaults        0 0

這個(gè)文件中顯示了系統(tǒng)啟動(dòng)時(shí)需要掛載的各個(gè)分區(qū),下面阿銘簡(jiǎn)單描述一下各列的含義。

第1列就是分區(qū)的標(biāo)識(shí),可以寫(xiě)分區(qū)的LABEL、分區(qū)的UUID(等會(huì)阿銘會(huì)著重講一下這個(gè)概念),也可以寫(xiě)分區(qū)名(比如:/dev/sda1)。

第2列是掛載點(diǎn),即要掛載到的目錄名。

第3列是分區(qū)的格式。

第4列是mount的一些掛載參數(shù)。一般情況下,直接寫(xiě)defaults即可。

第5列的數(shù)字表示是否被dump備份。1表示備份,0表示不備份。

第6列的數(shù)字表示開(kāi)機(jī)時(shí)是否自檢磁盤(pán)。1和2都表示檢測(cè),0表示不檢測(cè)。自檢時(shí),1比2優(yōu)先級(jí)高,所以先檢測(cè)1,再檢測(cè)2。如果有多個(gè)分區(qū)需要開(kāi)機(jī)檢測(cè),就都設(shè)置成2,1檢測(cè)完后會(huì)同時(shí)檢測(cè)2。在CentOS 7/Rocky 8系統(tǒng)里,所有分區(qū)中該列的值都是0。

下面阿銘著重介紹第4列的常用選項(xiàng)。

async/sync:async表示與磁盤(pán)和內(nèi)存不同步。系統(tǒng)每隔一段時(shí)間就會(huì)把內(nèi)存數(shù)據(jù)寫(xiě)入磁盤(pán)中,而sync則會(huì)時(shí)時(shí)同步內(nèi)存和磁盤(pán)中的數(shù)據(jù)。

auto/noauto:表示開(kāi)機(jī)自動(dòng)掛載/不自動(dòng)掛載。

default:表示按照大多數(shù)永久文件系統(tǒng)的默認(rèn)值設(shè)置掛載定義,它包含了rw、suid、dev、 exec、auto、nouser和async。

ro:表示按只讀權(quán)限掛載。

rw:表示按可讀可寫(xiě)權(quán)限掛載。

exec/noexec:表示允許/不允許可執(zhí)行文件執(zhí)行,但千萬(wàn)不要把根分區(qū)掛載為noexec,否則將無(wú)法使用系統(tǒng),甚至連mount命令都無(wú)法使用。

user/nouser:表示允許/不允許root外的其他用戶掛載分區(qū)。為了安全,請(qǐng)用nouser。

suid/nosuid:表示允許/不允許分區(qū)有suid屬性,一般設(shè)置nosuid。

usrquota:表示啟動(dòng)用戶的磁盤(pán)配額模式。磁盤(pán)配額會(huì)針對(duì)用戶限定他們使用的磁盤(pán)額度。

grquota:表示啟動(dòng)群組的磁盤(pán)配額模式。

學(xué)完了/etc/fstab,我們就可以自己修改這個(gè)文件,增加一行來(lái)掛載新增分區(qū)。例如,阿銘增加了這樣一行:

LABEL=TEST123/newdirext4defaults00

然后卸載之前已經(jīng)掛載的/dev/sda5,如下所示:

# umount /dev/sda5
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p11014M194M821M20%/boot

使用命令df -h查看,會(huì)發(fā)現(xiàn)已經(jīng)成功卸載/dev/sdb5。下面執(zhí)行命令mount -a:

# mount -a
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p1      1014M  194M  821M   20% /boot
/dev/sda5            969M  2.5M  900M    1% /newdir

使用命令df -h查看,會(huì)發(fā)現(xiàn)多出一個(gè)文件/dev/sdb5掛載到了/newfir下,這就是mount -a命令執(zhí)行的結(jié)果。這個(gè)-a選項(xiàng)會(huì)把/etc/fstab中出現(xiàn)的所有磁盤(pán)分區(qū)掛載上。除了-a選項(xiàng)外,還有兩個(gè)常用的選項(xiàng)。

-t選項(xiàng):用來(lái)指定掛載的分區(qū)類型,默認(rèn)不指定,會(huì)自動(dòng)識(shí)別。

-o選項(xiàng):用來(lái)指定掛載的分區(qū)有哪些特性,即上面/etc/fstab配置文件中第4列的那些。這個(gè)選項(xiàng)阿銘經(jīng)常使用,示例命令如下:

# mkdir /newdir/dir1
#mount-oremount,ro,sync/dev/sda5/newdir
# mkdir /newdir/dir2
mkdir: 無(wú)法創(chuàng)建目錄"/newdir/dir2": 只讀文件系統(tǒng)

由于-o選項(xiàng)指定了ro參數(shù),所以該分區(qū)只讀了。通過(guò)mount命令可以看到,/dev/sda5也有ro參數(shù),示例命令如下:

# mount |grep sda5
/dev/sda5 on /newdir type ext4 (ro,relatime,sync)

下面阿銘重新掛載,讓它恢復(fù)讀寫(xiě),如下所示:

# mount -o remount  /newdir  #這里可以省略掉磁盤(pán)分區(qū),只寫(xiě)掛載點(diǎn)
# mkdir /newdir/dir2
# ls /newdir/
dir1 dir2  lost+found

7.4.3命令blkid

阿銘在日常的運(yùn)維工作中遇到過(guò)這樣的情況,一臺(tái)服務(wù)器上新裝了兩塊磁盤(pán):磁盤(pán)a(在服務(wù)器上顯示為sdc)和磁盤(pán)b(在服務(wù)器上顯示為sdd)。有一次阿銘把這兩塊磁盤(pán)都拔掉了,之后再重新插上,重啟機(jī)器,結(jié)果磁盤(pán)編號(hào)被調(diào)換了,即磁盤(pán)a顯示為sdd,磁盤(pán)b顯示為sdc(這是因?yàn)榘懓汛疟P(pán)插錯(cuò)了插槽)。

我們知道掛載磁盤(pán)是通過(guò)/dev/sda1這樣的分區(qū)名字來(lái)掛載的,如果該分區(qū)先前已加入到/etc/fstab中,系統(tǒng)啟動(dòng)后則會(huì)掛載錯(cuò)分區(qū)。那么,怎樣避免這樣的情況發(fā)生呢?這就用到了UUID。我們可以通過(guò)blkid命令獲取各分區(qū)的UUID,如下所示:

# blkid
/dev/sda5: LABEL="TEST123" UUID="7af471e2-da5a-4897-be4e-049c990f2d9c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3d19a658-05"
/dev/nvme0n1p1: UUID="21f78c94-6652-406f-9f3a-57bd1cdc719f" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="91dd1aed-01"
/dev/nvme0n1p2: UUID="wFTzNH-yNbZ-hP00-mRUH-sILl-nbcq-oAWzt3" TYPE="LVM2_member" PARTUUID="91dd1aed-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="cbb1e131-d2a3-4b62-a1fe-b1172e295101" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="c05b4dde-37bf-48d9-b9ee-a51f1c15d027" TYPE="swap"
/dev/sda6: UUID="aa787ecd-eb79-4b52-92fa-e4d594fb3ff8" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="3d19a658-06"
/dev/nvme0n1:PTUUID="91dd1aed"PTTYPE="dos"

這樣可以獲得全部磁盤(pán)分區(qū)的UUID。如果格式化時(shí)指定了LABEL,則該命令也會(huì)顯示LABEL值,文件系統(tǒng)的類型也會(huì)顯示。當(dāng)然,這個(gè)命令后面也可以指定查詢哪個(gè)分區(qū),示例命令如下:

# blkid /dev/sda5
/dev/sda5: LABEL="TEST123" UUID="7af471e2-da5a-4897-be4e-049c990f2d9c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3d19a658-05"

獲得UUID后,我們?nèi)绾问褂盟兀坑梅ㄈ缦滤荆?/p>

# umount /newdir
#mountUUID="7af471e2-da5a-4897-be4e-049c990f2d9c"/newdir

UUID也是支持寫(xiě)入到/etc/fstab中的,示例命令如下:

# tail -1 /etc/fstab
UUID="7af471e2-da5a-4897-be4e-049c990f2d9c" /newdir      ext4   defaults        0 0

如果想讓某個(gè)分區(qū)在開(kāi)機(jī)后自動(dòng)掛載,有兩個(gè)辦法可以實(shí)現(xiàn):一是在/etc/fstab中添加一行,如上例中那行;二是把掛載命令寫(xiě)到/etc/rc.d/rc.local文件中去,系統(tǒng)啟動(dòng)后會(huì)執(zhí)行這個(gè)文件中的命令。只要你把想要開(kāi)機(jī)啟動(dòng)的命令統(tǒng)統(tǒng)寫(xiě)入到這個(gè)文件中(直接放到最后)即可。阿銘經(jīng)常把掛載的命令放到該文件的最后一行,示例命令如下:

# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.


touch /var/lock/subsys/local
mountUUID="7af471e2-da5a-4897-be4e-049c990f2d9c"/newdir

有的朋友可能會(huì)遇到這樣的情況,把命令寫(xiě)入/etc/rc.d/rc.local文件里,卻并沒(méi)有開(kāi)機(jī)執(zhí)行,這很有可能是因?yàn)橄到y(tǒng)并沒(méi)有找到那個(gè)命令。所以,為了避免此類問(wèn)題,阿銘建議你,以后寫(xiě)入到該文件的命令,要使用絕對(duì)路徑,比如本例中的mount應(yīng)該寫(xiě)成/usr/bin/mount。更改完/etc/rc.d/rc.local文件后,還需要一步操作:

# chmod a+x /etc/rc.d/rc.local

這是因?yàn)?,在Rocky 8系統(tǒng),該文件默認(rèn)沒(méi)有執(zhí)行權(quán)限。以上兩種方法任選其一,阿銘介紹第2種方法其實(shí)也是告訴你:如何讓一些操作行為隨系統(tǒng)啟動(dòng)而自動(dòng)執(zhí)行。另外,阿銘建議你在掛載磁盤(pán)分區(qū)時(shí),盡量使用UUID或者LABEL這兩種方法。

7.4.4命令umount

在上面的小試驗(yàn)中,阿銘多次用到umount命令。這個(gè)命令后面可以跟掛載點(diǎn),也可以跟分區(qū)名(如/dev/sda1),但是不可以跟LABEL和UUID。示例命令如下:

# umount /dev/sda5
#mountUUID="7af471e2-da5a-4897-be4e-049c990f2d9c"/newdir
# umount /newdir
#mountUUID="7af471e2-da5a-4897-be4e-049c990f2d9c"/newdir

umount命令的-l選項(xiàng)非常有用。有時(shí)候你會(huì)遇到不能卸載的情況,如下所示:

# umount /newdir
umount: /newdir:目標(biāo)忙。
(有些情況下通過(guò)lsof(8)或fuser(1)可以找到有關(guān)使用該設(shè)備的進(jìn)程的有用信息)

不能卸載是因?yàn)楫?dāng)前目錄還在卸載的分區(qū)上。解決這個(gè)問(wèn)題的辦法有兩種:一是進(jìn)入到其他目錄;二是使用umount命令的-l選項(xiàng),示例命令如下:

# umount -l /newdir
# df -h |grep -v tmpfs
文件系統(tǒng)             容量  已用  可用 已用% 掛載點(diǎn)
/dev/mapper/rl-root   17G  6.6G   11G   39% /
/dev/nvme0n1p11014M194M821M20%/boot

7.5建立一個(gè)swap文件增加虛擬內(nèi)存

安裝系統(tǒng)時(shí)我們就接觸了swap命令,它類似于Windows的虛擬內(nèi)存,分區(qū)時(shí)一般指定虛擬內(nèi)存的大小為實(shí)際內(nèi)存的2倍。如果你的實(shí)際內(nèi)存超過(guò)4GB,那么劃分8GB給虛擬內(nèi)存就足夠日常交換了。如果真遇到了虛擬內(nèi)存不夠用的情況,就必須增加一個(gè)虛擬磁盤(pán),因?yàn)槲覀儾豢赡苤匦陆o磁盤(pán)分區(qū)。增加虛擬磁盤(pán)的基本思路是:建立swapfile→格式化為swap格式→啟用該虛擬磁盤(pán)。

首先,建立swapfile,如下所示:

# dd if=/dev/zero of=/tmp/newdisk bs=1M count=1024
記錄了1024+0 的讀入
記錄了1024+0 的寫(xiě)出
1073741824字節(jié)(1.1 GB)已復(fù)制,6.36177 秒,169 MB/秒

dd命令阿銘經(jīng)常用到,所以請(qǐng)你也要掌握它的使用方法:用if指定源(一般是寫(xiě)/dev/zero,它是UNIX系統(tǒng)特有的一個(gè)文件,它可以源源不斷地提供“0”),of指定目標(biāo)文件,bs定義塊的大小,count定義塊的數(shù)量。bs和count這兩個(gè)參數(shù)決定了目標(biāo)文件的大小,即目標(biāo)文件大小=bs*count。上面的示例中,阿銘用dd命令建立一個(gè)大小為1.1GB的文件,下面將它格式化為swap格式,命令如下:

# mkswap -f /tmp/newdisk
mkswap: /tmp/newdisk:不安全的權(quán)限 0644,建議使用 0600。
正在設(shè)置交換空間版本 1,大小 = 1024 MiB (1073737728  個(gè)字節(jié))
無(wú)標(biāo)簽,UUID=df739399-cb11-4a92-b8db-9e94e257b815

文件格式化后,就可以掛載使用了,如下所示:

# free -m
 total        used        free      shared 
buff/cache   available
Mem: 1806         235         293           8        1276        1413
Swap: 4095           0        4095
# swapon /tmp/newdisk

swapon: /tmp/newdisk:不安全的權(quán)限 0644,建議使用 0600。 //雖然提示不安全,但實(shí)際已經(jīng)掛載上

# free -m
 total        used        free      shared 
buff/cache   available
Mem: 1806         236         293           8        1276        1412
Swap: 5119           0        5119

前后對(duì)比一下swap分區(qū),我們發(fā)現(xiàn)多了1024MB的空間。其中,free命令用來(lái)查看內(nèi)存的使用情況,-m選項(xiàng)表示以MB為單位顯示,阿銘還會(huì)在后續(xù)章節(jié)詳細(xì)介紹該命令。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 磁盤(pán)
    +關(guān)注

    關(guān)注

    1

    文章

    398

    瀏覽量

    26472
  • NTFS
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8863
  • LINUX內(nèi)核
    +關(guān)注

    關(guān)注

    1

    文章

    321

    瀏覽量

    23206

原文標(biāo)題:第7章 Linux磁盤(pán)管理 — 磁盤(pán)格式化和掛載

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux磁盤(pán)管理指令合集:從查看、分區(qū)到修復(fù)

    Linux 服務(wù)器運(yùn)維或日常使用中,磁盤(pán)管理是高頻操作 —— 無(wú)論是排查磁盤(pán)空間不足的問(wèn)題,還是新增硬盤(pán)后的分區(qū)配置,都離不開(kāi)一系列核心指令。今天就為大家整理一份「Linux
    的頭像 發(fā)表于 02-03 16:07 ?1948次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>磁盤(pán)</b>管理指令合集:從查看、分區(qū)到修復(fù)

    華為鴻蒙系統(tǒng)應(yīng)用數(shù)字與度量衡的格式化指南

    本文旨在深入探討華為鴻蒙 HarmonyOS 系統(tǒng)在應(yīng)用國(guó)際中數(shù)字與度量衡格式化方面的技術(shù)細(xì)節(jié),基于實(shí)際開(kāi)發(fā)實(shí)踐進(jìn)行總結(jié)。
    的頭像 發(fā)表于 01-24 16:55 ?1172次閱讀

    海光整機(jī)搭配銀河麒麟桌面操作系統(tǒng)V10SP1(X86)「使用命令掛載磁盤(pán)報(bào)錯(cuò)結(jié)構(gòu)需要清理」問(wèn)題解決方法

    V10SP1中,圖形無(wú)法掛載磁盤(pán),而使用命令掛載磁盤(pán),出現(xiàn)“mount: /data: mount(2) system call fail
    的頭像 發(fā)表于 01-06 17:53 ?1354次閱讀
    海光整機(jī)搭配銀河麒麟桌面操作系統(tǒng)V10SP1(X86)「使用命令<b class='flag-5'>掛載</b><b class='flag-5'>磁盤(pán)</b>報(bào)錯(cuò)結(jié)構(gòu)需要清理」問(wèn)題解決方法

    飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之格式化輸入

    格式化輸入用于從不同輸入源中獲取數(shù)據(jù)并根據(jù)格式化字符串format轉(zhuǎn)換為對(duì)應(yīng)的格式代碼并存儲(chǔ)在對(duì)應(yīng)的類型中。格式化輸入函數(shù):即按特定的格式
    發(fā)表于 11-12 08:35

    飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之格式化輸出

    格式化數(shù)據(jù)寫(xiě)到標(biāo)準(zhǔn)輸出,通常稱為格式化輸出,除了常見(jiàn)的printf外,還有如下四個(gè)函數(shù)。1.printf將格式化數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出。1)頭文件#include 2)函數(shù)原型int printf
    發(fā)表于 11-11 08:43

    yaffs文件系統(tǒng)能掛載成功,掉電消失,為什么?

    按照THEWON 使用了 yaffs2_rtt_mtd_device 的代碼。也按照用例替換了mtd_nand.c/h ?,F(xiàn)在能格式化并且掛載上。命令行mkdir能創(chuàng)建文件夾。也能創(chuàng)建文件。但是重新
    發(fā)表于 10-13 07:50

    求助,關(guān)于使用sprintf函數(shù)格式化浮點(diǎn)數(shù)的安全問(wèn)題求解

    (); return n; } 經(jīng)過(guò)測(cè)試,未關(guān)閉調(diào)度之前,線程被打斷再恢復(fù)之后,格式化的數(shù)據(jù)可能是一些亂碼,甚至程序跑飛了.如果使用這個(gè)字符串很容易死機(jī),主要是data abort異常.加入關(guān)閉調(diào)度之后,能夠得到
    發(fā)表于 10-09 08:22

    掛載elm文件系統(tǒng)到sd卡上時(shí)靈時(shí)不靈如何解決?

    使用野火開(kāi)發(fā)板的gd32h759,將elm文件系統(tǒng)掛載到sd卡上,使用的是sdio接口,發(fā)現(xiàn)時(shí)靈時(shí)不靈,sd卡格式化幾次還是不行,請(qǐng)教一下各位大神,如何解決?
    發(fā)表于 09-12 06:18

    技術(shù)貼|【RK3588】ELF 2開(kāi)發(fā)板如何添加exFAT和NTFS文件系統(tǒng)格式

    如何通過(guò)系統(tǒng)配置實(shí)現(xiàn)對(duì)該兩種文件系統(tǒng)的支持,并配置自動(dòng)掛載功能。Windows系統(tǒng)格式化存儲(chǔ)設(shè)備在使用TF卡前,需通過(guò)Windows自帶工具將其格式化為目標(biāo)文件系統(tǒng)(
    的頭像 發(fā)表于 08-27 17:21 ?3525次閱讀
    技術(shù)貼|【RK3588】ELF 2開(kāi)發(fā)板如何添加exFAT和NTFS文件系統(tǒng)<b class='flag-5'>格式</b>

    企業(yè)級(jí)Linux磁盤(pán)維護(hù)的完整流程

    在企業(yè)級(jí)Linux環(huán)境中,磁盤(pán)故障是導(dǎo)致系統(tǒng)宕機(jī)和數(shù)據(jù)丟失的主要原因之一。據(jù)統(tǒng)計(jì),超過(guò)70%的企業(yè)級(jí)服務(wù)器故障與存儲(chǔ)系統(tǒng)相關(guān)。作為運(yùn)維工程師,掌握完整的磁盤(pán)維護(hù)流程不僅能預(yù)防故障,更能在關(guān)鍵時(shí)刻拯救整個(gè)業(yè)務(wù)系統(tǒng)。
    的頭像 發(fā)表于 07-23 16:59 ?884次閱讀

    harmony-utils之FormatUtil,格式化工具類

    harmony-utils之FormatUtil,格式化工具類
    的頭像 發(fā)表于 07-03 18:22 ?537次閱讀

    Linux系統(tǒng)掛載新固態(tài)硬盤(pán)的方法,觸覺(jué)智能工控主板演示

    本文介紹Linux系統(tǒng)下新固態(tài)硬盤(pán)的掛載,使用觸覺(jué)智能RK3568工控主板演示(型號(hào)IDO-SBC3528)檢測(cè)固態(tài)硬盤(pán)與主板是否連接成功命令如下:fdisk-l#列出所有磁盤(pán)和分區(qū)信
    的頭像 發(fā)表于 06-19 16:13 ?797次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>掛載</b>新固態(tài)硬盤(pán)的方法,觸覺(jué)智能工控主板演示

    Linux系統(tǒng)中磁盤(pán)分區(qū)與掛載詳解

    磁盤(pán)分區(qū)是將物理硬盤(pán)劃分為不同的邏輯部分,每個(gè)分區(qū)都可以被視為一個(gè)獨(dú)立的存儲(chǔ)設(shè)備。通過(guò)磁盤(pán)分區(qū),我們可以更好地管理磁盤(pán)空間,實(shí)現(xiàn)數(shù)據(jù)的組織和隔離。
    的頭像 發(fā)表于 06-17 15:08 ?2468次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)中<b class='flag-5'>磁盤(pán)</b>分區(qū)與<b class='flag-5'>掛載</b>詳解

    通過(guò)FATFS文件系統(tǒng)讀寫(xiě)SD卡創(chuàng)建文件可以了,加入MSC一直顯示一個(gè)沒(méi)有格式化的U盤(pán)盤(pán)符,也不能格式化,為什么?

    通過(guò)FATFS文件系統(tǒng)讀寫(xiě)SD卡創(chuàng)建文件可以了,但加入MSC,一直顯示一個(gè)沒(méi)有格式化的U盤(pán)盤(pán)符,也不能格式化,這是什么問(wèn)題導(dǎo)致的
    發(fā)表于 03-12 07:20

    進(jìn)行SD卡格式化的時(shí)候,會(huì)報(bào)錯(cuò)FR_DISK_ERR,怎么解決?

    在進(jìn)行SD卡格式化的時(shí)候,會(huì)報(bào)錯(cuò)FR_DISK_ERR,具體原因是在寫(xiě)函數(shù)中在 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT
    發(fā)表于 03-10 06:29