Linux運維之路002---主機規劃與磁盤劃分

Linux主機選購指南

  • CPU 普通的intell i3已經基本能夠滿足日常辦公需求
  • RAM 主存儲器越大越好,對於一般的而小型服務器來說,如果不夠的話,就會使用的到硬盤的內存置換空間,因此對於小型服務器也至少小512MB以上的的主存儲器容量較佳。
  • hard Disk 對於硬盤來講,一般情況下如果是小型服務器,硬盤容量大於20GB就夠用到不行了,但是不過是用來作爲備份的話,我們可能就需要用到磁盤矩陣技術了(一種整合多個硬盤的技術,需要在硬盤上操作。)
  • VGA 顯示適配器在服務器上幾乎沒有任何用處,只要能夠讓計算機啓動就行了
  • network interface card 如果需要經常I/O的話,需要使用比較好點的網卡
  • 軟盤 鍵盤與鼠標 ,非必須。
    總體上來說其實就是 : 1.i3CPU 2.RAM 3.有20G以上的硬盤 4.VGA一個(非必要)

其他環境

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

硬件裝置在Linux中的文件名

首先,幾乎所有的硬件裝置文件都在/dev文件目錄下

裝置 在LInux下的文件名
SCSI/SATA/USB硬盤機 /dev/sd[a-p]
USB 快閃碟 /dev/sd[a-p]
virtl/O /dev/vd[a-p](用於虛擬機內)
軟盤驅動器 /dev/fd[0-7]
打印機 /dev/usb/lp[0-15]
鼠標 /dev/psaus(PS/2界面)
/dev/input/mouse[0-15]
/dev/mouse(當前鼠標)
CDROM/DVDROM /dev/scd[0-1]
/dev/sr[0-1](centos常見)

上述的編號的決定是由偵測到的書序老絕地鞥的文件名,並非和實際插槽代號有關。
l例題
tips:磁盤長啥樣
示意圖

MSDOS(MBR)與GPT磁盤分區表

目前分區表主要分爲兩類,一類是MBR分區表,一列是GPY分區表,他們對應着兩種格式。

MBR分區表

早期的Linux系統爲了兼容windos磁盤,因此使用的是支持windows的MBR的方式來處理開機管理程序與分區表。
MBR的英文全稱叫做Master Boot Record 可以安裝開機程序的地方。
對於以MBR方式處理的磁盤,這些東西都會扔在第一個山區,這個山區通常是512b,其中有446B是主啓動區,也就是安裝你MBR的地方。
剩下的64B,是分區表,它的主要作用是記錄硬盤分區的狀態。
由於分區表所在的區域僅有64B,因此最多隻能記錄四組,每組都記錄各個區段的其實與結束的磁柱號碼。
這四個分區的記錄被稱作,主要或者延伸分區槽,對於分區我們還需要知道:

  • 所謂的分區只是針對64B的分區表進行設定。
  • 硬盤默認的分區表只能寫入四組分區信息
  • 分區槽的最小單位是磁柱
  • 當系統要寫入磁盤時,一定會參考磁盤分區表,才能針對分區表進行數據處理
    分區的一個主要原因是爲了:
  • 數據的安全性
  • 系統性能考慮 (這個地方我倒是覺得有點意思,通過對磁盤的劃分,實現搜索範圍的縮小,簡直絕了)

tips:
前文提到了,分區表只能記錄四組數據,那麼是否代表我們一顆硬盤之鞥呢分區出四個分區槽呢,顯然不是這樣的,我們可以藉助EBR,來利用額外的扇區來記錄更多的分區信息。
延伸分區的目的是使用額外的扇區來記錄分區信息,這樣分出來的槽叫做邏輯分區槽,所以也就是圖中的101~400。
上述的分區槽在Linux系統中的裝置文件叫做

在這裏插入圖片描述
其中之所以沒有sda3 和 sda4 主要原因是前面的四個號碼都是給Primary或者Extended用的.
tips:MBR主要分區,延伸分區。

  • 主要分區與延伸分區最多可以有四筆
  • 延伸分區最多只能有一個
  • 邏輯分區是延伸分區持續切割出來的分區槽
  • 被格式化之後,作爲數據存取的分區槽爲主要分區與邏輯分區。
  • 延伸分區無法被格式化
  • 邏輯分區的數量依操作系統不同而不同,在Linux系統中的SATA硬盤,已經可以突破63個以上的分區限制

分區的合併問題
在這裏插入圖片描述
請問深色區域是否可以合併:

  • 第一個圖可以。原因是因爲它們同屬延伸分區內的邏輯分區,因此只要將兩個分區槽刪除,然後重新建立一個一個新的分區槽。
  • 第二個 不可以,因爲一個是主分區,一個是邏輯分區,除非將延伸分區破壞掉之後重新分區,但這樣會影響所有的邏輯分區,因爲邏輯分區的信息儲存在延伸分區中
  • tips: 如果分區超過四槽以上,一定有Extended分區槽

對於早期的MBR來說,他總是會有磁盤分區的個數的限制,同時,因爲只有一個磁盤區域記載磁盤信息,因此,一旦出現問題,將會非常難修復,爲了解決這些問題,出現了GPT格式的磁盤分區格式。

GPT 磁盤分區表

爲了兼容所有的磁盤格式,因此GPT 採用LBA進行處理(針對盤區定義,LBA就是邏輯區塊地址),GPT將所有的磁盤以此LBA進行規劃。
與MBR使用第一個512B的區塊記錄不同,GPT使用34個來記錄分區信息,MBR僅有一個區塊,因此會很容易造成MBR信息丟失,但是GPT不同,除了錢34個LBA用來記錄信息,最後33個LBA被拿來作爲一個備份。

LBA功能介紹

  • LBA0(MBR相容區域)
    • 與MBR模式相似,這個兼容區塊也分爲兩個部分,一個是和之前446B相似的區塊,儲存了開機管理程序,而另一個本來應該放分區表的地方,放入特殊標記,來表明此次盤是GPT格式。
  • LBA1(GPT 表頭記錄)
  • 這個部份紀錄了分區表本身的位置與大小,同時紀錄了備份用的 GPT 分區 (就是前面談到 的在最後 34 個 LBA 區塊) 放置的位置, 同時放置了分區表的檢驗機制碼 (CRC32),操 作系統可以根據這個檢驗碼來判斷 GPT 是否正確。若有錯誤,還可以透過這個紀錄區來 取得備份的 GPT(磁盤最後的那個備份區塊) 來恢復 GPT 的正常運作!
  • LBA2-33()
    • 從 LBA2 區塊開始,每個 LBA 都可以紀錄 4 筆分區紀錄,所以在默認的情況下,總共 可以有 432 = 128 筆分區紀錄喔!因爲每個 LBA 有 512bytes,因此每筆紀錄用到 128 bytes 的空間,除了每筆紀錄所需要的標識符與相關的紀錄之外,GPT 在每筆紀錄中分別提供了 64bits 來記載開始/結束的扇區號碼,因此,GPT 分區表對於單一分區槽來說, 他 的最大容量限制就會在『 2 64 512bytes = 2 63* 1Kbytes = 2 33 *TB = 8 ZB 』,要注意 1ZB = 2 30 TB 啦! 你說有沒有夠大了?

開機原理

回顧,什麼是BIOS,什麼是CMOS。
對於前者,我們可以理解爲是一個韌體,韌體就是寫入到硬件的一個軟件程序
對於後者CMOS是就來各項硬件參數的儲存器

目前主流的開機方式主要有兩種:BIOS+ MBR && UEFI+GPT

BIOS+ MBR流程

  1. BIOS在開機就會主動執行,會認識第一個可開機的裝置
  2. MBR是第一個可開機裝置的第一個扇區內的主要啓動區塊,內含卡機管理程序
  3. 運行加載開機管理程序(boot loader)
  4. 管理啓動核心文件,開始操作系統的功能。
    boot loader主要任務有:
  • 提供選單 用戶可以選擇不同的開機項目

  • 載入核心文件 直接執行啊可開機的程序區段來開始操作系統

  • 轉交其他的loader 將開機管理功能轉交給其他loader負責

  • tips: 雙系統工作原理
    對於雙系統來講,主要的技術支持便是開機管理程序中所提供的 選單工鞥呢,分區槽還有別的啓動扇區。
    開機管理程序的工作執行示意圖

此圖主要描繪了
每個分區槽都擁有自己的啓動扇區
圖中的系統槽爲第一及第二分區槽
實際可開機的核心文件是放置到各分區槽內的
loader只會認識自己的系統槽內的可開機核心文件,以及其他loader而已
loader可直接指向或者是簡介將管理啊去哪轉交給連一個管理程序

在日常生活中我們如果安裝雙系統一般都採用 先安裝windows在安裝Linux系統,因爲對於Linux系統來講我們是可以在loader手動設定選單,也就是說我麼boot loader 裏面加入windows開機選項。
對於windows來講,他的安祖昂成怒向會主動覆蓋MBR以及自己所在分區槽的啓動扇區,你沒有機會選擇選單。

UEFI BIOS+GPT開機流程

GPT可以提供64B的尋址,然後使用較大的區塊來處理開機管理程序,但是BIOS不能理解GPT的程序,所以我們需要透過GPT提供的兼容模式才能讀寫這個磁盤裝置。
UEFI 叫做 統一可延伸韌體界面,它是用來取代BIOS這個韌體界面的,他們主要區別如下
在這裏插入圖片描述
tips:UEFI對於硬件資源的管理採用 polling(輪詢)的方式來管理,與BIOS直接瞭解CPU以終端的方式來管理比較,這種效率相對更慢一點。
由於過去很多cracker經常藉由BIOS開機階段來破壞系統,並取得系統的控制權,因此UEFI加入了安全啓動機制,這個機制表示即將開機的操縱系統必須要被UEFI雅正,否則就無法順利開機,不過由於這個機制導致很多操作系統無法進入Linux操作系統。
與BIOS模式相比,雖然UDFI可以直接取得GPT的分區IAO,不過爲了與windows系統兼容,因此我們需要格式化一個vfat的文件系統,大約提供 512M 到1G左右的容量,以讓其他的UEFI執行方便
由於UEFI已經克服了BIOS的1024磁柱問題,因此我們的開機傳給你下放置到磁盤開始的錢2T位置即可。

Linux系統下的磁盤分區

目錄樹結構,對於整個Linux系統來說,最重要的就是目錄樹架構。
tips:目錄樹架構最重要的就是那個就是以根目錄爲主,然後呈現分支結構的文件架構,然後目錄樹架構最重要的就是那個根目錄,這個根目錄的表示方法爲一條斜線

文件系統與目錄樹的關係

我們爲了結合目錄樹的架構與磁盤內的數據,這個餓時候就牽扯到掛載問題了
所謂的瓜子啊就是利用一個目錄當成進入點,將磁盤分區槽的數據放置在該目錄下,也就是說進入該目錄可以讀取該分區槽的意思,這個而動作我們稱爲 掛載
那個進入點的額目錄我們稱爲掛載點
由於Linux系統最重要的就是根目錄,因此根目錄一定需要掛載到某個分區槽的,至於其他的目錄則按需掛載到不同的分區槽。

  • 不同操作系統如何讀取光驅。
    在默認情況下Linux操作系統會把光驅掛載到到/media/cdrom文件夾下
    對Windows操作系統來說我們使用的是代號的方式進行處理。有本質的區別。

Linux的安裝方式主要有兩種
第一種叫做自定義安裝
一般情況下,自定義安裝。我們第一次接觸Linux只要分區[/]以及swap即可
我們使用最大的分區槽來安主幹系統,這樣不怕分區錯誤造成無法安裝的困境,
建議分區的方法 : 預留一個備用的剩餘磁盤容量

這一部分分區槽的主要作用是
聯繫分區
備份重要的配置文件或者是script,這樣下次再配置系統的時候就可以直接在硬盤當中找到。

天道酬勤

安裝Linux前的規劃

如果說我們把LInux的主要應用對象放到服務器。
Red Hat EnerprizseLinux系列系統是個比較好的選擇,其中最有代表性就是CentOs操作系統。對於圖形化界面如果有比較高的要求,那麼我們就應該去找Ubuntu這樣的操作系統。
根據用途不同,不同的distribution來講有不同的側重點,這個大家可以自己再去我之前的筆記裏詳細瞭解一下
tips:對於這些映像文件來說,我們可以在清華大學開源鏡像站裏找到,點擊旁邊的獲取下載連接就可以下載

根據需求不同 我們對Linux的硬件要求也是有比較大的區別的,主要有一下幾類
NAT以及SAMBA等功能的實現
  • 對於這些功能來說NAT就是分享IP 的,這個地方大家可以理解成大門,他的任務就是讓每一臺聯網的電腦都可以通過這一條大門走出去。因此這個地方就對網卡有比較大的要求,對於CPU或者RAM可能就不是有很大的要求
  • SAMBA 這個軟件主要實現的是爲各種windows主機提供文件和打印服務,並且可以作爲DC與windows server域集成。聽起來很唬人,但是就是,嗯,傳文件
    : web服務器
  • 對於web服務企來說,我們一般情況下是要提供數據庫系統的,因此我們需要較高的CPU等級,但是最重要的是提升RAM。
    : DHCP
  • 對於DHCP功能來說,一般這個功能我們都是放在路由器上去完成的,因爲筆者是一名網絡工程師,所以,對於路由器上的配置還是比較熟悉的,這裏我們萬網需要用到IP地址池,來讓所有的連接到這臺Router的PC獲取IP地址。
    : FTP
  • 這個東西是在客戶端與服務器架構中的一個網絡協議標準,叫做文件傳輸協議。顧名思義,就是傳輸文件的,因此我們對他要求有較高的硬盤容量與質量較好的網卡。

Linux主機的規劃

tips:這個地方主要是指 硬盤規劃
這個地方的規劃其實就類似於windows上的分區,我們windows上不是有很多C盤 D盤,等等,他們有很多就是對一個一盤的不同規劃,往往C和D盤是在一起的,因此我們可以通過調成來使他們有不同的儲存容量

兩種分類方式

對於Linux操作系統來說,有兩種主要的分區方法,最簡單的一種是 / 和 swap兩個分區,這個地方解釋一下兩個分區的含義。

  • / & Swap
    /:根目錄,也就是幾乎之後所有的文件目錄結構的上機目錄最終都能追溯到這裏
    Swap: 這個目錄下的左右是內存置換空間,他的功能就是咋物理內存不足的時候來幫助內存延伸記錄的功能。理論上來說,我們的swap應該是不會被我們的系統所用到的,swap會被用到通常就是物理內存不足,而且因爲swap是在硬盤中存儲的,所以說,如果說我們內存不足的時候硬盤燈往往會開始閃。
  • 兼容性比較好的一種分類方式
    : /boot、 /、 /home、/var、Swap
    這裏順便解釋一下很多其他的目錄的作用吧
/boot / /home /var Swap
這個是開機引導目錄,包括Linux內核文件與開機所需要的文件 根目錄沒什麼好說的 這個文件夾是系統默認的用戶主文件夾 這個文件夾中存放的
是經常動態變化的文件,包括cache logfile等等文件和mysql數據庫文件
延展內存分區,也就是內存置換空間
  • 其他常用的文件目錄結構
    除了之前介紹的那些,這裏羅列一下我們還經常見到的文件夾的作用以及名稱
文件夾 作用
/bin 系統由很多放置可執行文件的目錄,但是bin目錄比較特殊。因爲bin目錄下面放置的是在單用戶維護模式下還能被操作的命令
/dev 在linux中任何的設備和接口設備都是以文件的形式存在於這個目錄當中。你只要到通過訪問這個目錄下的某個文件就相當於訪問某個設備.
/etc 統主要的配置文件幾乎都放置在這個這個目錄下面,例如人員的帳號密碼文件,各種服務的起始文件等。一般來說,這個目錄下面的各文件屬性時可以讓一般的用戶查閱的,但是隻有root用戶有權先修改。FHS建議不要放置可執行的文件在這個目錄下。
/lib 系統函數庫非常的多,而/lib下面放置則是開機時會用到的數據庫,以及在/bin和/sbin下命令會調用的函數庫。
/media media是媒體的意思,顧名思義/media下面放置的就是可以刪除的設備。包括軟盤,光盤,dvd等都臨時掛放在此。
/mnt 如果你想掛在額外的設備,一般建議可以放在這個目錄下,在比較早的時候這個目錄的用途和/media的作用相同,只是有了/media之後,這個目錄就用來暫時掛在用了。
/opt 這個是給第三方軟件放置的目錄。不過,在以前的linux下我們喜歡放置在/usr/local下面。
/root 系統管理員的主文件夾。
/sbin 放在這下面爲開機過程所需要的裏面包括開機、修復、還原系統所需要的命令。
/src src可以視作service的縮寫,是一些網絡服務啓動後,這些服務需要取用的數據目錄,常見的服務例如www,ftp等。
/tmp 這是讓一般的用戶或者是正在執行的程序暫時放置文件的地方。
/proc 這個目錄本身是一個虛擬文件系統,它放置的數據都是在內存當中,不佔用硬盤的容量。
/sys 這個目錄其實跟/proc非常的相似,也是一個虛擬的文件系統主要也是記錄與內核相關的信息,不佔用硬盤容量。
/usr 這裏面放置的數據屬於可分享的與不可變動的(shareable,static),其實usr是UNIX SOFTWARE RESOURCE的縮寫,而非user的縮寫,也就是unix操作系統軟件放置的位置而非用戶的數據。

加油啊,少年們,用所有的努力與汗水去回敬他們的不可能,你我都在努力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章