磁盤管理

磁盤管理

上圖sda disk information中對 255 heads,63 sectors/track,1958 cylinders的解析:

sda磁盤總共有1958個cylinder(柱面),每個cylinder(柱面)有63個sectors(扇區),每個sectors(扇區)有255個heads(磁頭)

那么這塊sda的總的磁頭數量為:255*63*1958=31455270

因為一塊磁盤的空間大小計算方式為:這塊磁盤的總的磁頭數量(Heads)*512bytes(因為每個磁頭數量為512字節)

所以這塊磁盤的空間為31455270*512=16105098240=16.1G

fdisk /dev/sdb后,按m,再按l(list 

MBR格式可分為4個主分區

GPT 格式可分為128個主分區

使用fdisk對磁盤進行分區,默認使用MBR格式,使用gdisk對磁盤進行分區,默認使用gpt格式,使用parted對磁盤分區,格式可為MBR,也可為gpt格式,若MBRgpt格式進行轉換,則所有數據丟失

最后,Mounted on列表示文件系統的安裝點。

//列出各文件系統的i節點使用情況。
#df -ia
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/hda5              98392   23919   74473   25% /
none                       0       0       0    -  /proc
/dev/hda1              12048      38   12010    1% /boot
none                       0       0       0    -  /dev/pts
/dev/hda3            1275456  355008  920448   28% /home
none                   31843       1   31842    1% /dev/shm
/dev/hda2            3489792  133637 3356155    4% /usr
/dev/hda6              66264    9876   56388   15% /var
 
//列出文件系統的類型。
#df -T
Filesystem    Type   1k-blocks      Used Available Use% Mounted on
/dev/hda5     ext3      381139    332921     28540  93% /
/dev/hda1     ext3       46636      6871     37357  16% /boot
/dev/hda3     ext3    10041144   6632528   2898556  70% /home
none         tmpfs      127372         0    127372   0% /dev/shm
/dev/hda2     ext3    27474876  24130460   1948772  93% /usr
/dev/hda6     ext3      256667    232729     10686  96% /var2

2. du

du的英文原義為“disk
usage”,含義為顯示磁盤空間的使用情況,統計目錄(或文件)所占磁盤空間的大小。該命令的功能是逐級進入指定目錄的每一個子目錄并顯示該目錄占用文件系統數據塊(1024字節)的情況。若沒有給出指定目錄,則對當前目錄進行統計。

df命令的各個選項含義如下:

  -s:對每個Names參數只給出占用的數據塊總數。
  -a:遞歸地顯示指定目錄中各文件及子目錄中各文件占用的數據塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數。
  -b:以字節為單位列出磁盤空間使用情況(系統默認以k字節為單位)。
  -k:以1024字節為單位列出磁盤空間使用情況。
  -c:最后再加上一個總計(系統默認設置)。
  -l:計算所有的文件大小,對硬鏈接文件,則計算多次。
  -x:跳過在不同文件系統上的目錄不予統計。

下面舉例說明du命令的使用:

//查看/mnt目錄占用磁盤空間的情況
#du –abk /mnt
1       /mnt/cdrom
1       /mnt/floppy
3       /mnt
 
//列出各目錄所占的磁盤空間,但不詳細列出每個文件所占的空間
#du
3684    ./log
84      ./libnids-1.17/doc
720     ./libnids-1.17/src
32      ./libnids-1.17/samples
1064    ./libnids-1.17
4944    .

輸出清單中的第1列是以塊為單位計的磁盤空間容量,第2列列出目錄中使用這些空間的目錄名稱。

◆這可能是一個很長的清單,有時只需要一個總數。這時可在du命令中加-s選項來取得總數:

#du –s /mnt 
3       /mnt
 
//列出所有文件和目錄所占的空間(使用a選項),并以字節為單位(使用b選項)來計算大小
#du –ab /root/mail
6144    mail/sent-mail
1024    mail/saved-messages
8192    mail

3、fdisk

fdisk可以劃分磁盤分區。下面給出使用Fdisk命令進行磁盤分區的操作步驟:

#fdisk /dev/had    //使用/dev/had作為默認的分區設備
Command (m for help): m  //選擇命令選項
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   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)

用戶通過提示鍵入“m”,可以顯示Fdisk命令各個參數的說明。

Fdisk有很多參數,可是經常使用的只有幾個。

◆在Linux分區過程,一般是先通過p參數來顯示硬盤分區表信息,然后根據信息確定將來的分區。如下所示:

Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *        41       522   3871665   83  Linux
/dev/hda2             1        40    321268+  82  Linux swap
 
Partition table entries are not in disk order
Command (m for help):

◆如果想完全改變硬盤的分區格式,就可以通過d參數一個一個地刪除存在的硬盤分區。刪除完畢,就可以通過n參數來增加新的分區。當按下“n”后,可以看到如下所示:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
   p
   Partiton number(1-4):1
   First cylinder(1-1023):1
   Last cylinder or + size or +sizeK or + sizeM(1-1023):+258M

這里要選擇新建的分區類型,是主分區還是擴展分區;并選擇p或是e。然后就是設置分區的大小。

◆要提醒注意的是,如果硬盤上有擴展分區,就只能增加邏輯分區,不能增加擴展分區。

◆在增加分區的時候,其類型都是默認的Linux Native,如果要把其中的某些分區改變為其他類型,例如Linux
Swap或FAT32等,可以通過命令t來改變,當按下“t”改變分區類型的時候,系統會提示要改變哪個分區、以及改變為什么類型(如果想知道系統所支持的分區類型,鍵入l),如下所示:

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap)

改變完了分區類型,就可以按下“w”,保存并退出。如果不想保存,那么可以選擇“q”直接退出,如下所示:

 

RH7  partprobe /dev/sda    將新建分區寫入內核

RH6  partx -a /dev/sda      將新建分區寫入內核

添加一個新的文件系統需要生成的文件數規則

① 定義一個設備    /dev/sda

② 設備分區     fidsk /dev/sda

③ 寫入內核    RH6 partx -a /dev/sda ;

   RH7  partprobe /dev/sda  

④ 創建一個文件系統(格式化)   mkfs.ext4  /dev/sda4

④ 建立一個卷標  e2label

⑤ 寫入到/etc/fatab  開機自啟

⑥ 掛載文件系統    mount -a

格式化分區步驟:

fdisk -> partprobe(RH6partx -a)->mkfs.文件類型->mount -a

磁盤分區格式化為MBR,并設為SWAP緩沖類型

1 fdisk /dev/sda 對磁盤a新建分區

2 m 列出所有操作命令

3 n 添加新的分區

4 e/p   e添加擴展分區   p添加系統分區

5 設置分區的起始位和結束位

6 t 改變文件系統類型

7 L 列出所有可選擇的文件系統類型

8 w 保存退出

9 partx -a /dev/sda 將添加的分區和文件類型寫入內核(RH6

 partprobe /dev/sda 將添加的分區和文件類型寫入內核(RH7

格式化文件系統

10  mkfs.ext4 /dev/sda4 格式化為ext4類型

    mkswap /dev/sda4   格式化為swap類型

11 vim /etc/fstab

   Ext4 格式   /dev/sda4 /mnt ext4 defaults 0 0  (/dev/sda4掛在到/mnt)

   Swap 格式  /dev/sda4   swap  swap defaults 0 0  (將緩沖分區掛載到swap)

12 掛載文件系統

   Ext4格式   mount -a

   Swap格式   swapoff -a;swapon -a

上述添加磁盤分區是從未分配的空間劃分的新區域,若在以劃分的磁盤上劃出一塊區域做swap擴展,如在sda1根目錄上劃出一塊區域做swap分區擴展,步驟如下

    增加swap分區二

sda跟掛載目錄上新建一文件做swap

1 mkdir /text

2 dd if=/dev/zero of=swapfile(swap設備文件名) bs=1M(最小存儲單元) count=500(單元個數)

3  partprobe /dev/sda 寫入內核生效(RH7

   Partx -a /dev/sda 寫入內核生效(RH6

4 mkswap /text/swapfile 格式化為swap

5 vim /etc/fatab

     /text/swapfile   swap  swap defaults 0 0

6 swapoff -a ; swapon -a  掛載

若有多個新建的磁盤分區為swap,可在/etc/fstab中設置優先應用級別

Eg   /dev/sda4 /mnt ext4 defaults,pri=1  0 0

     /text/swapfile   swap  swap defaults,pri=2  0 0

Pri=1的優先級別大于pri=2,即/text/swapfile 優先于/dev/sda4使用

格式化swap   mkswap /dev/sda5

  mkswap /text/swapfile(swap設備文件)

掛載生效 swapoff -a swapon -a

Swapon -s 查看電腦上的所有swap分區設備

/dev/zero  空設備

/dev/null  空設備(只要過程,不要結果)

從已分區的空間擴充swap

dd if=/dev/zero of=swapfile bs=1M count=500

Swapfileswap文件名,可自定義,bs為最小存儲單元,count為最小單元個數

格式轉換 MBR<=>GTP

MBR轉換為gtp格式:方法一

1 partrd /dev/sda  將第二塊磁盤轉換為GTP格式

2 mklabel gpt 輸入gtp格式

3 y 確認轉換

4 quit

5 partx -a /dev/sda  寫入內核(RH6)

 Partprobe /dev/sda  寫入內核 (RH7)

方法二:也可用命令轉換

Parted -s /dev/sda mklabel msdos/gtp  轉換為MBRgtp格式

gdisk命令添加分區為gtp格式,方法過程同fdisk一樣

fdisk -l 查看磁盤分區

tune2fs -l   只能查看ext類型的文件系統

tune2fs -o acl /dev/sda5   sda5分區添加acl功能

mkfs.ext4 -b 4096 /dev/sda5 sda5分區修改block size的大小為4M   (RH6)

tune2fs -i0 -c0 /dev/sda5  將最大掛載次數修改為-1,即永遠達不到最大值,不用自檢 (0為零)

mkfs.xfs -b size=1024 /dev/sda5  sda5分區修改block size的大小為1M   (RH7)

修改block size (最小存儲單元)的值

    mkfs.ext4 -b 4096 /dev/sda5 sda5分區修改block size的大小為4M   (RH6)

    mkfs.xfs -b size=1024 /dev/sda5  sda5分區修改block size的大小為1M   (RH7)

Fsck 檢查和修復linux系統文件類型(未掛載)

-a 如果檢查到錯誤,自動修復文件系統

-A 檢查/etc/fstab文件中列出的所有文件系統

-N 不進行檢查,只顯示哪些檢查會被執行

-r 出現錯誤時提示

-R 使用-A選項時跳過根文件系統

-s 檢查多個文件系統時,依次進行檢查

-t 指定要檢查的文件系統

-V 在檢查時產生詳細輸出

-y 檢測到錯誤時自動修復文件系統

 練習

11、創建一個2G的文件系統,塊大小為2048byte,預留1%可
用空間,文件系統ext4,卷標為TEST,要求此分區開機后自
動掛載至/test目錄,且默認有acl掛載選項 

磁盤管理

注:echo -e “n\np\n1\n+2G\nw\n    此命令可直接進行創建分區,不用在進dfisk 一步一步操作,掛載系統命令makfs.ext4

開機后自 動掛載至/test目錄,且默認有acl掛載選項 還可以進 入 vim  /etc/fstab 進行添加

至/test目錄,且默認有acl掛載選項 


練習:要求輸入掛載點,將顯示其UUID(不用fstab)

read -p “please input Mounted on name:” Name1
if df $Name1 &>/dev/null ; then
        Name2=`df “$Name1” |tail -1 |grep -o “^/[^ ]*”`
        blkid $Name2 |grep -o ‘\<UUID=”[[:alnum:]|-]*”‘
        unset Name1 Name2
else
        echo “error,Mounted on name unknown”;exit 1
fi


原創文章,作者:linux-qiao,如若轉載,請注明出處:http://www.www58058.com/85119

(0)
linux-qiaolinux-qiao
上一篇 2017-08-20 16:31
下一篇 2017-08-20 19:49

相關推薦

  • 無網不利

                    網絡是主機之間交互的必備條件。聯網就是將主機互聯來形成網絡,使得網絡中的主機得以交換信息。       &n…

    2017-08-19
  • Linux三劍客之grep伐木累(正則表達式)

    一、Linux文本處理三劍客     Linux上有三種常用的文本處理工具,分別為:grep(egrep、fgrep)、sed、awk。今天主要給大家介紹一下三劍客中的第一劍:grep伐木累。 二、grep是什么?     grep 全稱(Globally search a Re…

    Linux干貨 2016-03-09
  • LVS專題: NAT和DR模型實現Web負載均衡

    LVS專題: NAT和DR模型實現Web負載均衡 前言: NAT實現 Real Server配置 Director配置 測試 實驗拓撲 實驗環境 實驗步驟 DR實現 Director配置 Real Server配置 測試 實驗拓撲 實驗環境 實驗步驟 總結: 前言: 在上篇文章中我們講了一些LVS的基本概念和相應模型的實驗原理和流程,本篇文章我們主要使用lv…

    2016-04-05
  • rsyslog, mysql, loganalyzer聯合實現

    一. rsyslog簡介 rsyslog是一個自由軟件, 是GPL的lincesed增強的syslogd. 它提供了Mysql和完全可配置的輸出格式的支持. 1. 日志信息格式:      <優先級>時間戳 主機名 模塊名/級別/信息摘要:內容      <priority>…

    Linux干貨 2016-10-24
  • linux用戶與組的基本概念–20160730

    用戶組和權限管理—概念       用戶組和權限管理—概念 3A:認證,授權,審計。 每個使用者:用戶標識,密碼:  Authentication    :  認證 Authorization     :授權 Accout/Audition…

    Linux干貨 2016-08-04
  • 文件系統

    文件系統 文件和目錄被組織成一個單根倒置樹結構 文件系統從根目錄下開始,用“/”表示 文件名稱區分大小寫 以.開頭的文件為隱藏文件   一個.表示本目錄。 兩個..表示根目錄 路徑分隔的/      路徑分割為正斜線分割 文件有兩類數據:        元數據:metadata …

    Linux干貨 2017-05-02
欧美性久久久久