日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux磁盘管理与分区 转载

發布時間:2024/4/14 linux 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux磁盘管理与分区 转载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:http://zhengjianglong.leanote.com/post/linux%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA

一、基礎知識

一塊磁盤可以分為多個分區(partition),如window的C、D、E盤一樣。linu系統是安裝在磁盤上,在linux中設備都是以文件類型存在。

1.1 磁盤接口

個人計算機常見的磁盤接口有兩種,分別是IDE和SATA:

  • IDE
    使用的排線較寬,每條線上可以接兩個IDE設備(Master/Slave),磁盤驅動器上提供調整跳針來指定master或slave.一般助理都會提供兩個IDE接口,因此最多可以接到4個IDE設備。傳輸133MB每秒。這四個IDE設備文件名如下:
IDEMasterslave
IDE1(Primary)/dev/hda/dev/hdb
IDE2(Secondary)/dev/hdc/dev/hdd
  • SATA
    插槽比IDE小,排線較細有利于主機內部散熱和安裝。傳輸速度300MB每秒。目前大部分機器都采用了SATA。

1.2 磁盤組成


磁盤由盤片、機械手臂、磁頭和主馬達組成。而對于每個盤片又可以細分出扇區(Sector)、柱面(Cylinder)兩個單位。

盤面
硬盤一般會有一個或多個盤片,每個盤片可以有兩個面(Side),即第1個盤片的正面稱為0面,反面稱為1面;第2個盤片的正面稱為2面,反面稱為3面…依次類推。每個盤面對應一個磁頭(head)用于讀寫數據。第一個盤面的正面的磁頭稱為0磁頭,背面稱為1磁頭;第二個盤片正面的磁頭稱為2磁頭,背面稱為3磁頭,以此類推。盤面數和磁頭數是相等的。關機時磁頭停留在盤片啟停區,開機時磁頭“飛行”在磁盤片上方。為了避免磁盤和磁頭損壞,建議不要強制關機。

磁道
每個盤片的每個盤面被劃分成多個狹窄的同心圓環,數據就是存儲在這樣的同心圓環上,我們將這樣的圓環稱為磁道(Track),每個盤面可以劃分多個磁道。關機時磁頭停留在硬盤的著陸區(Landing Zone),這個著陸區以前是位于離盤心最近的區域,不存放任何數據。
在每個盤面的最外圈,離盤心最遠的地方是“0”磁道,向盤心方向依次增長為1磁道,2磁道,等等。硬盤數據的存放就是從最外圈開始

扇區
每個磁道劃分成若干弧段,每段稱為一個扇區(Sector)。扇區是硬盤上存儲的物理單位,每扇區大小是512字節,大小不可改變。

柱面
柱面其實是我們抽象出來的一個邏輯概念,不同面上相同磁道編號則組成了一個圓柱面,即所稱的柱面(Cylinder)。這里要注意,硬盤數據的讀寫是按柱面進行,即磁頭讀寫數據時首先在同一柱面內從0磁頭開始進行操作,依次向下在同一柱面的不同盤面(即磁頭上)進行操作,只有在同一柱面所有的磁頭全部讀寫完畢后磁頭才轉移到下一柱面,因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換。電子切換比從在機械上磁頭向鄰近磁道移動快得多。因此,數據的讀寫按柱面進行,而不按盤面進行。讀寫數據都是按照這種方式進行,盡可能提高了硬盤讀寫效率。

將物理相鄰的若干個扇區稱為了一個簇。

容量計算公式
硬盤容量=盤面數×柱面數×扇區數×512字節

1.3 硬盤讀寫數據的過程

現代硬盤尋道都是采用CHS(Cylinder Head Sector)的方式,硬盤讀取數據時,讀寫磁頭沿徑向移動,移到要讀取的扇區所在磁道的上方,這段時間稱為尋道時間(seek time)。因讀寫磁頭的起始位置與目標位置之間的距離不同,尋道時間也不同。目前硬盤一般為2到30毫秒,平均約為9毫秒。磁頭到達指定磁道后,然后通過盤片的旋轉,使得要讀取的扇區轉到讀寫磁頭的下方,這段時間稱為旋轉延遲時間(rotational latencytime)。

1.4 磁盤分區表

磁盤上的第一個扇區特別主要,它記錄兩個重要的信息:
1. 主引導分區(Master Boot Record,MBR)。可以安裝引導加載程序的地方,有446bytes。MBR是系統開機的時候會主動去讀取這個區塊的內容,這樣系統才會知道你的程序放在哪里且該如何開機。
2. 分區表(partition table):記錄整塊硬盤分區的狀態,有64bytes。

第一扇區結構如下:

分區表

分區表只有64bytes,最多能容納4個分區記錄,這四個分區被稱為主(Primary)和擴展(Extended)分區。分區的最小單位是柱面,也是文件系統的最小單位。分區表記錄了每個分區起始和結束的柱面號碼。為什么要進行磁盤分區呢?有以下好處:
1. 數據的安全性。對某個分區數據重整時不影響其他分區。
2. 系統性能。數據一般存放在同一個分區中,使得數據分布更加集中,有助于數據讀取的速度和性能。

雖然分區表只能分配4個分區,但可以利用擴展分區使額外的扇區來記錄分區信息,擴展分區本身不能被格式化。從擴展分區切出來的分區叫做邏輯分區。如圖:

上述分區在linux系統中文件名分別為:

  • P1:/dev/hda1 (主分區)
  • P2:/dev/hda2 (擴展分區)
  • L1:/dev/hda5
  • L2:/dev/hda6
  • L3:/dev/hda7
  • L4:/dev/hda8
  • L5:/dev/hda9

邏輯分區從5開始,前面的4個號碼都是保留給主分區和擴展分區用。分區還具有以下特性:

  • 主分區和擴展分區最多只有四個(硬盤限制)
  • 擴展分區最多只有一個(操作系統限制)
  • 邏輯分區是有擴展分區持續切割出來的分區
  • 能夠被格式化后作為數據訪問的分區為主分區和邏輯分區,擴展分區無法格式化
  • linux系統中,IDE硬盤最多有59個邏輯分區(5~63),SATA硬盤則有11個邏輯分區(5~15)

1.5 固態硬盤和機械硬盤

  • 性能方面,固態硬盤完勝機械硬盤。固態硬盤的讀寫速度要比機械硬盤的讀寫速度高,一般要高2倍左右的速度讀寫能力。
  • 機械硬盤容量大,價格低。固態硬盤容量普遍偏小,價格昂貴。
  • 固態硬盤幾乎0噪音,機械硬盤噪音較大
  • 機械硬盤的體積要比固態硬盤大,所以重量也要比固態硬盤重
  • 在功耗方面,固態硬盤也要低于傳統的機械硬盤
  • 二、安裝時分區

    2.1 掛載

    掛載是利用一個目錄當成進入點,將磁盤分區的數據放置在該目錄下,也就是說進入該目錄就可以讀取該分區的意思。這個進入點的目錄就稱為”掛載點

    例如 partion1 掛載在根目錄上,partion2掛載在/home,意味著/home下數據都存放在partion2上,其他數據都放在partion1上。

    3.1 分區規劃

    最簡單的分區方法就是僅分出根目錄和內存交換空間(/ & swap)即可。但是這樣的分區不保險,如果任何一個細節壞掉(例如壞軌的產生),你的根目錄將可能整個損毀。

    分多個區有以下幾個目的:

    • 避免磁盤一些細節壞掉,使得整個目錄損毀
    • 在不損失數據的情況下重裝系統,比如獨立設置/home掛載點,重裝系統的時候直接標記回/home,數據不會有任何損失。
    • 針對不同掛載點的特性分配合適的文件系統以合理發揮性能,比如對/var使用reiserfs,對/home使用xfs,對/使用ext4。
    • 針對不同的掛載點開啟不同的掛載選項,如是否需要即時同步,是否開啟日志,是否啟用壓縮。
    • 大硬盤搜索范圍大,效率低
    • 磁盤配額只能對分區做設定
    • /home、/var、/usr/local 經常是單獨分區,因為經常會操作,容易產生碎片

    建議掛載的幾大目錄:

    目錄說明建議大小
    /根目錄,唯一必須掛載的目錄。10~15G
    swap交換分區,可能不是必須的。一般為內存2倍,最大指定2G即可
    /home用戶目錄,存放用戶文件,是讀寫很頻繁的一個目錄。最好分配一個分區最大的剩余空間
    /usr應用程序目錄。大部分的軟件都安裝在這里,如果您計劃安裝許多軟件,建議也給它分配一個分區最大的剩余空間的一半
    /var包含系統運行時要改變的數據。通常這些數據所在的目錄的大小是要經常變化的,系統日志記錄也在/var/log下。一般多用戶系統或者網絡服務器要建立這個分區,設立這個分區,對系統日志的維護很有幫助。一般設置2-3G大小
    /boot包含了操作系統的內核和在啟動系統過程中所要用到的文件。100M左右
    /tmp臨時文件,方便加載ISO鏡像文件使用,對于多用戶系統或者網絡服務器來也有獨立掛載的必要。臨時文件目錄,也是最常出現問題的目錄之一。一般設置1-5G

    三、安裝后新增硬盤

    系統安裝完成之后,有時候因為硬盤容量不夠等原因會新增一些新的硬盤。那么添加新的硬盤之后應該做些什么?
    1. 對磁盤進行分區,以新建可用的分區
    2. 對該分區進行格式化,以創建系統可用的文件系統
    3. 可對剛新建的文件系統進行檢驗
    4. 創建掛載點,掛載新硬盤

    1. 查看當前磁盤使用情況

  • df -h
  • 首先查看當前硬盤使用情況,看看哪些地方需要增加存儲容量。

    雖然此刻各目錄還有足夠的空間,但考慮/home和/usr 后續還有一些新增數據。因此確定新增硬盤用于掛載到/home和/usr上。

    2. 查看新增硬盤設備

  • fdisk -l
  • 命令的作用是列出當前系統中所有硬盤設備及其分區的信息(fdisk只有root才能執行)。新的硬盤設備還未進行初始化,沒有包含有效的分區信息。/dev/sda1、/dev/sda2、/dev/sda3是已經存在的硬盤。/dev/sdb 是新增的硬盤。

    Device:分區的設備文件名稱。
    Boot:是否是引導分區,是,則有“*”標識。
    Start:該分區在硬盤中的起始位置(柱面數)。
    End:該分區在硬盤中的結束位置(柱面數)。
    Blocks:分區的大小,以Blocks(塊)為單位,默認的塊大小為1024字節。
    Id:分區類型的ID標記號,對于ext3分區為83,LVM分區為8e。
    System:分區類型。

    3. 分區

  • fdisk /dev/sdb #對 sdb 進行操作
  • fdisk交互命令:

    命令說明
    a設置可引導標記
    b編輯bsd磁盤標簽
    c設置Dos操作系統兼容標記
    d刪除一個分區
    l顯示已知的文件系統類型,82為Linux swap分區,83為Linux分區
    m顯示幫助菜單
    n新建分區
    o建立空白的DOS分區表
    p列出當前磁盤的分區表信息
    q不保存退出
    s新建空白SUN磁盤標簽
    t改變一個分區的系統ID
    u改變顯示記錄單位
    v驗證分區表
    w保存退出
    x附加功能

    根據以上命令,我們可以通過以下指令進行分區。
    新增分區過程:
    1. fdisk /dev/sdb # /dev/sdb是新增的硬盤
    2. n: 創建分區,這時候會讓你選擇一個分區數字,比如1
    3. w或q: w是保存退出,這個需要謹慎使用,后果自負。q是不保存退出,練習時可以用。


    設置分配好的分區,輸入w保存退出。如果這時提示要重啟才能生效,因為分區表被占用無法重新取得分區表信息。如果此刻不想重啟又想讓其生效,可以使用下面命令:

  • partprobe #強制讓內核重新找一次分區表
  • 注:root在進行磁盤分區的時候,最好是在單用戶維護模式下比較安全。
    fdisk沒有辦法處理大于2TB以上的磁盤分區

    4. 進行格式化(創建文件系統)

    1)查看/home的文件格式

  • df -hT
  • 2)格式化分區

  • mkfs -t ext4 /dev/sdb1
  • 如果需要在創建文件系統的時候指定系統的卷標(label)、block的大小以及inode的數量,那么需要使用mkfs2命令

  • mkfs2 [-b block大小] [-i block大小(一個inode多少容量)] [-L 卷標] [-cj] 設備
  • -b: 可以設置每個block大小。目前支持1024,2048,4096
    -i: 多少容量給予一個inode
    -c:磁盤錯誤檢查,下達一個-c進行快速讀取測試。下達兩次-c -c,會測試讀寫。
    -L: 卷標名稱
    -j: 成為EXT3,不加為EXT2

    5. 檢查

    • fsck用來檢查和修正文件系統錯誤的命令。通常情況下只有root且文件系統有問題時才使用,否則正常情況下使用此命令,可能會造成對系統的傷害
    • badblocks用來檢查硬盤或軟盤扇區有沒有壞軌的命令
  • badblocks -[svw] 設備名稱
  • -s: 在屏幕中列出進度
  • -v: 可以在屏幕上看到進度
  • -w: 使用寫入的方式來測試,建議不要使用此參數,尤其已有文件時。
  • 6. 掛載

    掛載前需要注意一下事情:

    • 單一文件系統不應該被重復掛載在不同的掛載點
    • 單一目錄不應該重復掛載多個文件系統
    • 作為掛載點的目錄,理論上都應該是空目錄才是。如果掛載的目錄不為空,那么掛載了文件系統之后,原目錄下的東西就會暫時消失(被隱藏,而不是被覆蓋)。

    如果直接將新的分區,如 “/dev/sdb1”掛載到某個目錄下,如 “/home”下,則會導致 “/home” 目錄以前的全部文件被覆蓋,但并未消失。且不會將此前的目錄容量加上,這會導致嚴重的問題。

    • 所以我們需要先將 “/dev/sdb1” 掛載到 “/mnt” 下;
    • 再將 “/home/*” 所有東西復制到 “/mnt/”;
    • 接著刪除 “/home/*” 全部文件;若因為與此目錄有關的程序運行占用目錄導致無法刪除 “/home”,則利用 lsof 命令找到這些程序的 PID,然后 “kill -9 PID” 后在刪除 “/home” 。lsof 命令 列出被進程所打開的文件的信息
    • 之后再解掛載 “/mnt”;
    • 最后再將 “/dev/sdb1” 掛載到 “/home”;
    • 將此寫進 /etc/fstab 配置文件中,讓它開啟自讀取
  • >mount /dev/sdb1 /mnt
  • >cp -Rp /home/* /mnt #R遞歸負責,p保持復制的權限,如果沒有這個,到時后/home目錄下的某文件夾的所有者和所屬組都是 root,沒有辦法切換到此用戶。
  • >rm -rf /home #此處可能會用到 lsof 命令 --> lsof /home
  • >umount /mnt
  • >mount /dev/sdb1 /home
  • 將此寫進 /etc/fstab 配置文件中,讓它開啟自讀取

  • >vi /etc/fstab
  • /dev/sdb1 /home ext4 defaults 0 0
  • 第一字段:設備名或設備卷標名。
    第二字段:文件系統的掛載點目錄的位置。
    第三字段:文件系統類型,如ext3、swap等。
    第四字段:掛載參數,即mount命令“-o”選項后可使用的參數,如defaults、rw等。
    第五字段:表示文件系統是否需要dump備份,一般設為1時表示需要,設為0時將被dump所忽略。

    第六字段:該數字用于決定在系統啟動時進行磁盤檢查的順序,0表示不進行檢查,1表示優先檢查,2表示其次檢查。對于根分區應設為1,其他分區設為2.

    系統文件/etc/fstab是系統自動掛載文件,所以不能寫錯,一旦寫錯可能導致系統直接崩潰。所以我們在保存/etc/fstab文件之后,我們必須使用命令mount -a自動實現掛載

  • mount -a #依據配置文件/etc/fstab的內容,自動掛載
  • mount -o remount,rw / # /etc/fstab文件修復
  • 四、交換區的構建

    如果在安裝系統的時候沒有分配swap,為了應付物理內存不足的情況下造成的內存擴展記錄,可以構建swap在硬盤上暫時存放內存中的信息。構建步驟:
    1. 分區:利用fdisk分出一個分區作為swap.
    2. 格式化:利用“mkswap 設備文件名”格式化一個swap。
    3. 使用:將該swap啟動,“swapon 設備文件名”
    4. 查看:通過free查看內存狀態。

    五、磁盤管理相關命令

    • df 命令可以獲取硬盤被占用了多少空間,目前還剩下多少空間等信息,它也可以顯示所有文件系統對i節點和磁盤塊的使用情況;
    • du的英文原義為“disk usage”,含義為顯示磁盤空間的使用情況,統計目錄(或文件)所占磁盤空間的大小;
    • fdisk 命令用于磁盤分區;上一節已經講過
    • mkfs 格式化并創建文件系統。
    • fsck、badblocks磁盤檢驗
    • unmount 卸載
  • unmount [-fn] 設備名或掛載點
  • -f: 強制卸載
    -n: 不更新 /etc/mtab的情況下卸載。filesystem的掛載是記錄到/etc/mtab與/proc/mounts這兩個檔案中的。每次我們在更動filesystem的掛載時,也會同時更動這兩個檔案。參考[/etc/mtab和/proc/mounts的區別]

    • e2label:修改設備label。e2label 設備名稱 新的label名稱
    • du
      查看當前文件大小,du -h –max-depth=1

    參考

    [1] Linux 磁盤分區
    [2] 硬盤的存儲原理和內部架構
    [3] Linux 安裝分區設置 分區大小 功能
    [4] Linux系統安裝時分區的選擇
    [5] 安裝Linux前的規劃
    [6] 玩轉 Linux 之:磁盤分區、掛載知多少?
    [7] 給Linux新增硬盤之后
    [8] 《鳥哥私房菜》磁盤的分區、格式化、檢驗與掛載

    轉載于:https://www.cnblogs.com/migrantworkers/p/9162642.html

    總結

    以上是生活随笔為你收集整理的linux磁盘管理与分区 转载的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。