日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

今天來聊聊 linux 下磁盤分區(qū)、掛載的問題,篇幅所限,不會聊的太底層,純當(dāng)科普!!

1、Linux 分區(qū)簡介

1.1 主分區(qū) vs 擴展分區(qū)

硬盤分區(qū)表中最多能存儲四個分區(qū),但我們實際使用時一般只分為兩個分區(qū),一個是主分區(qū)(Primary Partion)一個是擴展分區(qū)(extended partition),主分區(qū)可以馬上被使用但不能再分區(qū),擴展分區(qū)必須再進行分區(qū)后才能使用,也就是說它必須還要進行二次分區(qū)。那么由擴展分區(qū)再分下去的是什么呢?它就是邏輯分區(qū)(Logical Partion),邏輯分區(qū)沒有數(shù)量上限制。

1.2 驅(qū)動器標(biāo)示的含義

對習(xí)慣于使用Dos或windows的同學(xué)來說,有幾個分區(qū)就有幾個驅(qū)動器,并且每個分區(qū)都會獲得一個字母標(biāo)識符,然后就可以選用這個字母來指定在這個分區(qū)上的文件和目錄,它們的文件結(jié)構(gòu)都是獨立的,非常好理解。然而對Red Hat Linux新手來說,可就有點惱人了。因為對Linux用戶來說無論有幾個分區(qū),都得分給目錄使用,它歸根結(jié)底就只有一個根目錄,一個獨立且唯一的文件結(jié)構(gòu)。Red Hat Linux中每個分區(qū)都是用來組成整個文件系統(tǒng)的一部分,因為它采用了一種叫“掛載點”的處理方法,它的整個文件系統(tǒng)中包含了一整套的文件和目錄,且將一個分區(qū)和一個目錄聯(lián)系起來。這時要載入的一個分區(qū)就在linux的存儲空間的某個目錄下獲得。

下面我們先來看看Red Hat Linux的驅(qū)動器是如何標(biāo)識的。 對于IDE硬盤,驅(qū)動器標(biāo)識符為“hdx1”,其中“hd”表明分區(qū)所在設(shè)備的類型,這里是指IDE硬盤了。“x”為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),“1”代表分區(qū),前四個分區(qū)用數(shù)字1到4表示,它們是主分區(qū)或擴展分區(qū),從5開始就是邏輯分區(qū)。例,hda3表示為第一個IDE硬盤上的第三個主分區(qū)或擴展分區(qū),hdb2表示為第二個IDE硬盤上的第二個主分區(qū)或擴展分區(qū)。對于SCSI硬盤則標(biāo)識為“sdx1”,SCSI硬盤是用“sd”來表示分區(qū)所在設(shè)備的類型的,其余則和IDE硬盤的表示方法一樣,不再贅述。

我們從上面可以看到,Red Hat Linux的分區(qū)是不同于其它操作系統(tǒng)分區(qū)的,它的分區(qū)格式常用的有Ext3和Swap兩種,Ext3用于存放系統(tǒng)文件,Swap則作為Red Hat Linux的交換分區(qū)(相當(dāng)于windows中的虛擬內(nèi)存文件)。那么現(xiàn)在我們就可以知道Red Hat Linux至少需要兩個專門的分區(qū)(Linux Native(本地)和Linux Swap(交換))。由于不能將Red Hat Linux安裝在Dos/Windows分區(qū)。一般來說我們將Red Hat Linux安裝一個或多個類型為“Linux Native”的硬盤分區(qū),但是在Red Hat Linux的每一個分區(qū)都必須要指定一個“Mount Point”(掛載點),告訴Red Hat Linux在啟動時,這個目錄要給哪個分區(qū)使用。對“Swap”分區(qū)來說, 一般也定義一個,且它不必要定義載入點。

下面我們先對“Linux Native”和“Linux Swap”有個初步的了解。

  • SWAP分區(qū)是LINUX暫時存儲數(shù)據(jù)的交換分區(qū),它主要是把主內(nèi)存上暫時不用得數(shù)據(jù)存起來,在需要的時候再調(diào)進內(nèi)存內(nèi),且作為SWAP使用的分區(qū)不用指定“Mout Point”(載入點),既然它作為交換分區(qū),我們理所當(dāng)然應(yīng)給它指定大小,它至少要等于系統(tǒng)上實際內(nèi)存的量,一般來說它的大小是內(nèi)存的一至兩倍。另外你也可以創(chuàng)建和使用一個以上的交換分區(qū),最多16個。
  • Linux Native是存放系統(tǒng)文件的地方,一般用EXT3的分區(qū)類型,對Red Hat Linux來說,有了較大的選擇余地,可以把系統(tǒng)文件分幾個區(qū)來裝(必須要說明掛載點),也可以就裝在同一個分區(qū)中(掛載點是“/”)。

1.3 為什么要自定義多個分區(qū)?

分多個區(qū)有以下幾個目的:

  • 在不損失數(shù)據(jù)的情況下重裝系統(tǒng),比如獨立設(shè)置/home掛載點,重裝系統(tǒng)的時候直接標(biāo)記回/home,數(shù)據(jù)不會有任何損失。
  • 針對不同掛載點的特性分配合適的文件系統(tǒng)以合理發(fā)揮性能,比如對/var使用reiserfs,對/home使用xfs,對/使用ext4。
  • 針對不同的掛載點開啟不同的掛載選項,如是否需要即時同步,是否開啟日志,是否啟用壓縮。
  • 大硬盤搜索范圍大,效率低
  • 磁盤配額只能對分區(qū)做設(shè)定
  • /home、/var、/usr/local 經(jīng)常是單獨分區(qū),因為經(jīng)常會操作,容易產(chǎn)生碎片

2、掛載點目錄簡介

2.1 常見的掛載目錄結(jié)構(gòu)

每塊硬盤都分為若干個分區(qū),每個分區(qū)都有自己的文件系統(tǒng)。Windows為這些文件系統(tǒng)各自指定了一個字母。不過 GNU/Linux 使用唯一的樹形結(jié)構(gòu)來管理文件,而每個文件系統(tǒng)都掛載于樹形結(jié)構(gòu)的某個位置。

正如 Windows 需要有 C: 驅(qū)動器一樣,GNU/Linux 必須能夠?qū)⒏募到y(tǒng)掛載于文件樹的根(/)上。當(dāng)根掛載完成之后,您就可以將其它文件系統(tǒng)掛載于樹形結(jié)構(gòu)各種掛載點上。根結(jié)構(gòu)下的任何目錄都可以作為掛載點,而您也可以將同一文件系統(tǒng)同時掛載于不同的掛載點上。

掛載點實際上就是linux中的磁盤文件系統(tǒng)的入口目錄

玩轉(zhuǎn) Linux 之:磁盤分區(qū)、掛載知多少?

 

2.2 常見的掛載目錄說明

目錄 內(nèi)容

/ 根目錄,存放系統(tǒng)命令和用戶數(shù)據(jù)等(如果下面掛載點沒有單獨的分區(qū),它們都將在根目錄的分區(qū)中)

/boot boot loader 的靜態(tài)鏈接文件,存放與Linux啟動相關(guān)的程序

/home 用戶目錄,存放普通用戶的數(shù)據(jù)

/tmp 臨時文件

/usr 是Red Hat Linux系統(tǒng)存放軟件的地方,如有可能應(yīng)將最大空間分給它

/usr/local 自已安裝程序安裝在此

/var 不斷變化的數(shù)據(jù),服務(wù)器的一些服務(wù)、日志放在下面。

/opt (Option可選的)附加的應(yīng)用程序軟件包

/bin 基本命令執(zhí)行文件

/dev 設(shè)備文件

/etc 主機特定的系統(tǒng)配置

/lib 基本共享庫以及內(nèi)核模塊

/media 用于移動介質(zhì)的掛載點

/mnt 用于臨時掛載文件系統(tǒng)或者別的硬件設(shè)備(如光驅(qū)、軟驅(qū))

/proc 系統(tǒng)信息的虛擬目錄(2.4 和 2.6 內(nèi)核),這些信息是在內(nèi)存中,由系統(tǒng)自己產(chǎn)生的。

/root root 用戶的目錄

/sbin 基本系統(tǒng)命令執(zhí)行文件

/sys 系統(tǒng)信息的虛擬目錄(2.6 內(nèi)核)

/srv 系統(tǒng)提供的用于 service 的數(shù)據(jù)

/usr/X1186 X-Windows目錄,存放一些X-Windows的配置文件

/usr/include 系統(tǒng)頭文件,存儲一些C語言的頭文件

/usr/src Linux內(nèi)核源代碼,Linux系統(tǒng)所安裝的內(nèi)核源代碼都保存在此

/usr/bin 對/bin目錄的一些補充

/usr/sbin 對/sbin目錄的一些補充

/lost+found 這個目錄在大多數(shù)情況下都是空的。但是如果你正在工作突然停電,或是沒有用正常方式關(guān)機,在你重新啟動機器的時候,有些文件就會找不到應(yīng)該存放的地方,對于這些文件,系統(tǒng)將他們放在這個目錄下。

/boot: 必須總是物理地包含 /etc、/bin、/sbin、/lib 和 /dev,否則您將不能啟動系統(tǒng)。

/home:每個用戶將放置他的私有數(shù)據(jù)到這個目錄的子目錄下。

/tmp: 程序創(chuàng)建的臨時數(shù)據(jù)大都存到這個目錄。

/usr:包含所有的用戶程序(/usr/bin),庫文件(/usr/lib),文檔(/usr/share/doc),等等。

/var:所有的可變數(shù)據(jù),如新聞組文章、電子郵件、網(wǎng)站、數(shù)據(jù)庫、軟件包系統(tǒng)的緩存等等,將被放入這個目錄。這個目錄的大小取決于您計算機的用途,但是對大多數(shù)人來說,將主要用于軟件包系統(tǒng)的管理工具。如果做服務(wù)器的話空間應(yīng)盡量大。我的服務(wù)器的實際分法及實際使用的大小,還沒有實際投入使用。所以/var目錄沒有用那么多。一般WEB存放網(wǎng)頁的目錄是/var/www,postfix郵件的存放郵件的目錄是:/var/mail,var/log,是系統(tǒng)日志記錄分區(qū), /var/spool:存放一些郵件、新聞、打印隊列等。

/opt:存放可選的安裝的軟件。

上面介紹了幾個掛載點,一般來說我們最少需要兩個分區(qū)(當(dāng)然只要一個 / 分區(qū)也可以),需要一個SWAP分區(qū),和一個“/”分區(qū),但把一些常用、重要的掛載點分到其它分區(qū),這樣便于管理。一般一個/分區(qū),一個/usr分區(qū),一個/home 分區(qū),一個/var/log分區(qū)。當(dāng)然這沒有什么規(guī)定,完全是依照需要來定的。我們可以使用Red Hat Linux提供的硬盤管理工具Disk Druid來完成分區(qū)和掛載點設(shè)置。

對照上圖和目錄簡介,可以把Linux系統(tǒng)的掛載點想象成一棵大樹

/ 為大樹的樹根

/ 衍生的其他掛載點為這顆大樹的樹枝

掛載點下的文件為樹葉

2.3 為什么 linux 的分區(qū)需要有掛載這個動作呢?

如果你看過我之前寫的 Linux 系列文章,那么應(yīng)該記得我曾經(jīng)標(biāo)紅過一句話:linux 下一切皆文件!換言之就是linux操作系統(tǒng)將系統(tǒng)中的一切都作為文件來管理。在windows中我們常見的硬件設(shè)備(打印機、網(wǎng)卡、聲卡...)、磁盤分區(qū)等,在linux中統(tǒng)統(tǒng)都被視作文件,對設(shè)備、分區(qū)的訪問就是讀寫對應(yīng)的文件。

3、實戰(zhàn)分區(qū)掛載

3.1 臨時掛載

舉個栗子,原來分區(qū)情況如下:

[root@sg-sl-data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 5.6G 13G 31% /
/dev/sda6 996M 35M 910M 4% /data
/dev/sda5 426G 199M 404G 1% /disk1
/dev/sda1 996M 46M 899M 5% /boot
tmpfs 7.9G 0 7.9G 0% /dev/shm

3.1.1 先卸載分區(qū):

umount /disk1

umount /data

3.1.2 再重新掛起來:

mount /dev/sda5 /data

mount /dev/sda6 /disk1

注意:如前所述,不能2個分區(qū)同時掛載到/data

3.2 永久掛載:開機自動掛載

上面步驟中的方法只是臨時工干的活兒,開機后磁盤分區(qū)會不可見或者還是掛載之前的模樣,要想永久生效,還需要修改/etc/fstab,將

LABEL=/data /data ext3 defaults 1 2

LABEL=/disk1 /disk1 ext3 defaults 1 2

修改為:

/dev/sda5 /data ext3 defaults 1 2

/dev/sda6 /disk1 ext3 defaults 1 2

說明:fstab 是文件系統(tǒng)分配表的配置文件,該文件有著嚴格的語法格式限制,類似 crontab 一樣,保存時也會對你的輸入格式進行校驗,請慎重使用,否則會有意想不到的問題發(fā)生。其一共有 6 個字段,空格分隔,具體每個字段的含義請參考這里,不再贅述:http://diamonder.blog.51cto.com/159220/282542

3.3 以下是添加硬盤&分區(qū)&掛載(高危操作,新手慎用!)

友情提示:分區(qū)操作是高危操作,尤其是新手同學(xué)請勿在生產(chǎn)環(huán)境隨意嘗試,否則后果自負!

更為詳細的分區(qū)教程請參見:

linux磁盤分區(qū)fdisk命令詳解 http://linux008.blog.51cto.com/2837805/548711

fdisk /dev/sdb
 
輸入m---n---p---1--回車---回車---p---w
 
mkfs.ext3 /dev/sdb1
 
mkdir /disk2
 
mount /dev/sdb1 /disk2/
 
在/etc/fstab中添加:
/dev/sdb1 /disk2 ext3 defaults 1 2

4、通過 fstab 設(shè)置開機掛載的坑

fstab 文件大家都很熟悉,Linux 在啟動的時候通過 fstab 中的信息掛載各個分區(qū),一個典型的分區(qū)條目就像這樣:

/dev/sdb4 /mnt/usb vfat utf8,umask=0 0 0

/dev/sda4 為需要掛載的分區(qū),sda4 是 Linux 檢測硬盤時按順序給分區(qū)的命名,一般來講,這個名稱并不會變化,但是如果你有多塊硬盤,硬盤在電腦中的順序變化的時候,相同的名稱可能代表著不同的硬盤分區(qū),如果你是從 USB 設(shè)備啟動,與其他 USB 設(shè)備的插入順序也會導(dǎo)致分區(qū)識別的困難。

因此上面 3.2 小節(jié)中的配置直接寫 /dev/sda6 是有很大的隱患的,重啟后硬盤的順序可能發(fā)生變化,比如 你把 Nginx 的用戶日志放在一個單獨的分區(qū)上,那么重啟后雖然設(shè)置了 fstab,但是由于順序變了相同的分區(qū)號可能代表不同的硬盤分區(qū)了,這樣就會導(dǎo)致某些分區(qū)上的數(shù)據(jù)服務(wù)不可用了。

這個時候 UUID 就派上用場了,UUID 全稱是 Universally Unique Identifier,也就是說,每個分區(qū)有一個唯一的 UUID 值,這樣就不會發(fā)生分區(qū)識別混亂的問題了。

在 fstab 中用 UUID 掛載分區(qū),看起來向這樣:

UUID=1234-5678 /mnt/usb vfat utf8,umask=0 0 0

在 UUID= 后面填入分區(qū)相應(yīng)的 UUID 值,就可以正確掛載分區(qū)了。

那么,我們?nèi)绾沃酪粋€分區(qū)的 UUID 呢?

有 3 種方法:

4.1 通過瀏覽 /dev/disk/by-uuid/ 下的設(shè)備文件信息

# ls -l /dev/disk/by-uuid/

------

lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5

lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4

.....

4.2 通過 vol_id 命令

# vol_id /dev/sdb5

ID_FS_USAGE=filesystem

ID_FS_TYPE=vfat

ID_FS_VERSION=FAT32

ID_FS_UUID=0909-090B

ID_FS_UUID_ENC=0909-090B

ID_FS_LABEL=SWAP

ID_FS_LABEL_ENC=SWAP

ID_FS_LABEL_SAFE=SWAP

4.3 通過 blkid 命令

# blkid /dev/sdb5

/dev/sdb5: LABEL="SWAP" UUID="0909-090B" TYPE="vfat"

通過這三種方法都可以獲得分區(qū)的 UUID,UUID 依據(jù)分區(qū)不同,長度和格式都不相同。比如我最后把 /dev/sdb 掛載在了 /data1 目錄下(不放心的話重啟或者生成文件測試下,看掛載分區(qū)的空間被占用沒):

文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點
/dev/sda3 ext4 518G 2.7G 489G 1% /
tmpfs tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 ext4 1008M 61M 896M 7% /boot
/dev/sdb ext4 1.8T 1.1G 1.7T 1% /data1
grep -v '#' /etc/fstab |column -t
UUID=0c685e8b-dbb3-4a1c-a106-3f1716ab34dd / ext4 defaults,noatime 1 1
UUID=2d7f1bcf-06d1-486e-87df-404ba670fcd9 /boot ext4 defaults,noatime 1 2
UUID=248e7a99-b459-4800-bbd3-354047e49a2f swap swap defaults,noatime 0 0
tmpfs /dev/shm tmpfs defaults,nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=870ebaf6-727f-48d3-b60c-f203339d94ac /data1 ext4 defaults,noatime 0 0

5、FAQ:

  • 掛載點必須是一個目錄。
  • 一個分區(qū)掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內(nèi)容將不可用。對于其他操作系統(tǒng)建立的文件系統(tǒng)的掛載也是這樣,卸載后,目錄以前的文件都還在,不會有任何丟失。
  • 目錄只占磁盤里的一個inode,存放文件屬性等信息。
  • 任何一個分區(qū)都必須掛載到某個目錄上。
  • 目錄是邏輯上的區(qū)分。分區(qū)是物理上的區(qū)分。
  • 磁盤Linux分區(qū)都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作。
  • 根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區(qū)。
  • 一個分區(qū)可以掛在多個目錄,但反過來一個目錄只能是一個分區(qū)的掛載點。

分享到:
標(biāo)簽:磁盤分區(qū) Linux
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定