天天看點

Centos 磁盤管理 進階篇

建立分區相關指令:

指令格式:fdisk +裝置類型 最多隻能建立15個分區

1 2 #fdisk -l ------//可列出所有磁盤的相關分區資訊 #fdisk -l /dev/sda----//檢視sda磁盤的相關分區資訊
Centos 磁盤管理 進階篇

圖1

1 2 3 4 5 6 Linux: Sda[1-4] S(接口類型)da1:第一個主分區 Sda2:第二個主分區 Sda3:第三個主分區 Sda4:第四個主分區

Sda5:第一個邏輯分區,擴充分區一定是從5開始的,5是邏輯分區開始的标志。

指令格式:fdisk -l  /dev/[sh]d[0-9]

Centos 磁盤管理 進階篇

圖2

1 2 3 4 5 d   delete a partition——————//删除一個分區 n   add a new partition—————//建立一個分區 p   print the partition table————//顯示目前分區資訊 w   write table to disk and exit————//儲存退出 q   quit without saving changes————//不儲存退出

System ID————說明這是一個什麼樣的分區類型,與作業系統相關連。

打算把分區——格式化成什麼樣的檔案系統,就一定要讓它的分區ID号跟檔案系統類型相比對。

l   list known partition types——各分區類型多對應的system ID————也就是檔案系統類型。

83 ———— Linux

82 ———— Linux swap / So

8e ———— Linux LVM 邏輯卷

85 ———— Linux extended

fd ———— Linux raid auto軟RAID Software Raid

1 2 t   change a partition's system id//修改某指定分區的system ID a   toggle a bootable flag//設定可啟動标記(設定此分區可以啟動作業系統的分

區)——————一般很少用到,了解即可。

Centos 磁盤管理 進階篇

圖3

确認無誤儲存退出

Centos 磁盤管理 進階篇

圖4

再建立兩個6G的分區:

Centos 磁盤管理 進階篇

圖5

如圖所示:主分區編号隻有一個了,要再建立任意兩個分區就隻能,先建立擴充分區,在擴充分區裡面建立邏輯分區。

是以接下來一定是先建立擴充分區

5一定是4下的5,所有的邏輯分區一定是在擴充分區之下建立的,這點很重要哦!這裡的開始以及結束柱面可使用預設的,一定要把剩下的空間一并給擴充分區,因為,如果不給擴充分區的話就永遠也用不上了。這點對新手尤為重要哦,呵呵!

Centos 磁盤管理 進階篇

圖6

Centos 磁盤管理 進階篇

圖7

如果中間寫錯了,想删除的話可按住ctrl鍵,再按tab即可輕松删除出錯的指令了!

擴充分區是不能直接使用的,是以,必須要再new

一塊硬碟隻能有一個擴充分區哦!這點請大家一定要記得哦!

Centos 磁盤管理 進階篇

圖8

再新增6G邏輯分區

Centos 磁盤管理 進階篇

圖9

以上這兩個分區整個都是在擴充分區内部建立的哦!看清楚了嗎?

是以說,邏輯分區一定是在擴充分區内部建立的!

如果某個分區不想要了,可以使用dl來删除,在本案例中,可以直接删除4号分區嗎?

Centos 磁盤管理 進階篇

圖10

貌似,5、6号分區也都随着擴充分區的删除消失了!

是以,此操作一定要謹慎哦!

此時唯一的解救辦法就是q-------不儲存退出就可以了哦,呵呵~

因為我們的核心還沒有做真正的分區格式化,也就是說在你沒w之前的所有操作都是視為無效的哦!!!

是以,有時候一念之間就是這樣的啦!!!!!

Centos 磁盤管理 進階篇

圖11

分區建立好了以後就可以使用fdisk -l 來檢視系統中所有的分區資訊了

Centos 磁盤管理 進階篇

圖12

fdisk能識别出來這麼多分區,核心能識别嗎?因為與硬體打交道的是核心啊  !!!!

如果核心識别不了的話說明是沒有這個硬體裝置的哦!

檢視核心識别的分區資訊:

1 #cat /proc/partitons
Centos 磁盤管理 進階篇

圖13

軟體能識别,核心竟然不能識别啊?該怎麼辦呢?

任何程式修改硬體必須要通過核心,必須要同步給正在運作的核心,讓核心識别才行啊!問題是該怎樣同步呢?

注:RHEL5.0和RHEL6.0同步的相關指令也是不一樣的。

   檢視試驗測試機版本相關資訊:

1 2 3 4 #cat  /etc/issue #lsb_release -a #cat /proc/version #uname -a
Centos 磁盤管理 進階篇

圖13-1

 RHEL5 讓           核心重新讀取硬碟分區表:

partprobe   [Device]——重新探測

可指派探測某個指定的裝置,不指定的話預設是探測所有的

Centos 磁盤管理 進階篇

圖14

讀取失敗,重新開機之前是無效的。

Centos 磁盤管理 進階篇

沒有被讀取到

RHEl6使用另外一個指令

RHEL6讓核心重新讀取硬碟分區表:

1 2 3 4 5 6 partx -a [partition]  device #man partx -a     add  specified  partitions or read disk and add all               partitions.讀取所有的 -l     list partitions. Note that the all numbers  are  in               512-byte sectors.
1 #cat /proc/partitions 檢視核心識别分區表情況

---隻有此指令顯示的有各個分區資訊,核心才會分區格式化,否則都是無效分區哦!千萬記得哦!!!

圖18

Centos 磁盤管理 進階篇

手動一個一個添加似乎能被加上,但是仍然會報錯!不知道是不是核心方面的問題。

OK,核心都識别了!

Centos 磁盤管理 進階篇

圖19

OK,分區都已經建立好了,那麼,如何實作,往分區裡面存放檔案,如何使用這個分區呢?接下來我們還需要進行哪些操作呢?

       格式化分區,用于建立檔案系統

沒有檔案系統就沒有辦法在裡面建立檔案呢!為什麼呢?因為它是裸裝置啊!呵呵1

Linux 建立分區指令:

兩步實作:指定分區類型、指定分區對象

注:擴充分區是不能格式化的,一定記得哦!

           将/dev/sda3格式化分區類型為ext4

Centos 磁盤管理 進階篇

圖20

顯示/dev/sda3分區的相關屬性資訊

Centos 磁盤管理 進階篇

圖21

UUID———表示全局唯一号,是一列随機字元串将來硬碟數量很多的情況下,可以使用UUID來進行管理硬碟分區,是以每一個分區都給建立了一個全局唯一辨別符

blkid:顯示裝置的UUID以及檔案系統類型

注:擴充分區不能格式化

1 2 3 4 5 6 #mkfs -t ext4 /dev/sda3=mke2fa -t ext4 /dev/sda3 #mkfs -t ext3=mkfs.ext3=mk2efs -j=mke2fs -t ext3 #mkfs -t ext4=mkfs.ext4 #mkfs -t ext2=mkfs.ext2=mke2fs #mke2fs -t {ext2|ext3|ext4} #blid /dev/sda3  blkid device顯示裝置的UUID及檔案系統類型。

Uuid用來辨別全局唯一ID号,是一連串随機數字,一台超級計算機上有成千上萬個挂載分區,怎樣去識别這上萬個分區呢?使用sda、sdb很可能會沖突的。

是以每一個分區都建立了一個全局唯一随機辨別ID。重複的可能性極小,類似哈雷彗星撞地球,呵呵。硬碟無論放到哪個主機上,重複的可能性幾乎不存在。

#man mkfs

-t fstype

#mke2fs -t ext4 /dev/sda3

mke2fs - create an ext2/ext3/ext4 filesystem

mke2fs -b {1024位元組、2048位元組、4096位元組預設}

Centos 磁盤管理 進階篇

圖22

配置檔案:vim /etc/mke2fs.conf用于設定預設特性及各檔案系統的特有預設特性

1 #mke2fs -t ext4 -b 2048  /dev/sda3

——————b指定塊大小,預設為1kb,2kb.3kb

塊大小指的是什麼呢?

塊大小取決于CPU對記憶體葉大小的支援,一般來說,X86預設頁框是4K;預設是4096

檢視磁盤分區相關屬性資訊

1 2 3 #tune2fs - l devcie |grep “Block size” #tune2fs  -l /dev/sda3    Block size:  4096 # tune2fs -l /dev/sda3  | grep "Block size"
Centos 磁盤管理 進階篇

圖23

注:a)一個block隻能屬于一個檔案

b)塊太大的話會導緻磁盤空間的浪費

c)塊大小的劃分取決于将來要存儲的檔案

d)要更改塊大小隻能格式化磁盤分區

-L——〉 new-volume-label設定卷标

             Set the volume label for the filesystem to new-vol-

             ume-label.  The maximum length of the volume  label

             is 16 bytes.

1 2 #mke2fs -t ext3 -b 1024  -L mytest1/dev/sda3 注:塊越小格式化的時間越長

要顯示塊大小

1 #Tune2fs -l device | grep “Block size”
Centos 磁盤管理 進階篇

圖24

-L 指定卷标,設定卷标

使用卷标或者使用UUID是我們避免交叉引用的好方法之一!

卷标有可能也會重複,幹脆使用UUID吧!

1 #mke2fs -b 1024  -L mytest1 /dev/sda3

注:塊越小所格式化的時間就越長!

Centos 磁盤管理 進階篇

圖25

1 #blkid /dev/sda3 還可以顯示LABEL資訊
Centos 磁盤管理 進階篇

圖26

一塊硬碟被填滿了的話會發生什麼情況?

# tune2fs -l /dev/sda3 | grep "Reserved"   檢視磁盤預設預留白間

Centos 磁盤管理 進階篇

圖27

1 # echo $[577085/ 11541700]

[[email protected] ~]# bc

577085/ 11541700

scale=2設定精度

577085/ 11541700*/

.05=5%保留的是整個磁盤空間的5%。 200G預留了5%就是10G

[ -m  reserved-blocks-percentage  ]預留給管理使用的塊所占據總體塊的比例。

1 2 # mke2fs -t ext4  -b 2048  -m 3  -L mytest1 /dev/sda3 # tune2fs -l /dev/sda3 |grep "Reserverd"
Centos 磁盤管理 進階篇

圖28

Centos 磁盤管理 進階篇

圖29

Centos 磁盤管理 進階篇

圖30

随着塊大小的改變,預留白間較之前有較大的變化。

mke2fs和tune2fs差別相當于useradd 和usermod,慢慢體會下是不是這樣的?

修改分區相關屬性

重新設定卷标:-L

1 2 3 #blkid /dev/sda3 #tune2fs -L test2 /dev/sda3 #blkid /dev/sda3
Centos 磁盤管理 進階篇

圖31

調整塊大小:-m

1 2 #tune2fs -m 5  /dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”
Centos 磁盤管理 進階篇

圖32

1 2 #tune2fs -m1 /dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”
Centos 磁盤管理 進階篇

圖33

1 2 3 4 5 -o:設定預設挂載選項 -O:設定檔案系統預設特性 -r調整預留給管理使用的塊個數 -E設定檔案系統的擴充屬性 -l顯示檔案系統超級塊資訊

e2label 顯示設定卷标

1 2 3 #e2label /dev/sda3 #e2label /dev/sda3 test3 #e2label /devsda3
Centos 磁盤管理 進階篇

下篇

挂載

概念:挂載其實就是關聯關系的過程。

fileSystem:一個軟體,在核心中實作的

格式:mount -t filesystem  options  device mount-point

mount選項:

1 2 3 4 5 6 7 8 9 10 1)-o:用于指定挂載選項 2)ro:隻讀挂載 3)-n挂載檔案系統時不更新/etc/mtab檔案 4)rw:讀寫,預設即為讀寫 5)noatime:關閉更新通路時間的功能 6)auto:是否能由“mout -a”挂載 7)-r相當于”-o ro”隻讀挂載 8)defaults:相當于rw,suid,dev,exec,nouser,auto,async,and realatime 9)sync同步寫入,性能差,CPU到記憶體10NS,CPU到硬碟100NS 10)async異步寫入,大部分使用的是異步,性能好

sync在記憶體中完成儲存,檔案被編輯先被讀入記憶體,檔案編輯都是在記憶體中操作的。

mount  [-t filetype]系統會調用blkid自動識别檔案類型,此項可省略 挂載裝置  挂載點

1)建立空白目錄

1 2 3 4 5 6 #mkdir /test_m1 #cp /etc/inittab /test_m1 #cp /etc/fstab /test_m1 #cp /etc/rc.d/rc.sysinit /test_m1 #cp /etc/rc.d/init.d/functions /test_m1 #ls /test_m1
Centos 磁盤管理 進階篇

2)挂載,建立關聯關系

1 2 # mount -t ext4 /dev/sda3 /test_m1/ # ls /test_m1/
Centos 磁盤管理 進階篇

原來的檔案不見了,思考下為什呢?

3)反挂載,也就是解除安裝了

解除安裝的時候隻需要指定一項目即可,要麼是挂載點、要麼是分區名稱

4)使用卷标挂載

1 2 # e2label /dev/sda3 # mount LABEL="test2" /test_m1/
Centos 磁盤管理 進階篇

6使用卷标解除安裝 umount /test_m1/

LABEL=”卷标”

Centos 磁盤管理 進階篇

7)使用UUID挂載

 UUID=“UUID”

1 2 # blkid /dev/sda3 # mount UUID="a54233f0-51c0-4f30-9a0f-eea4c0999f49" /test_m1/
Centos 磁盤管理 進階篇
1 #mount ——————>顯示目前系統挂載的所有裝置

/etc/fstab——————〉系統開機會自動挂載的檔案系統

Centos 磁盤管理 進階篇

注:fdisk - l RHEL5上面不顯示邏輯卷

   fdisk - l RHEL 6上面是顯示所有的磁盤分區的

   fdisk -l /dev/[hs]d[a-z]

1 2 mount://将某檔案系統關聯至根檔案系統上來 mount://顯示所有挂在的裝置
1 2 # cat /etc/mtab追蹤目前系統上所有已挂載檔案系統的檔案,随時會更新。 # umount /dev/sda3
Centos 磁盤管理 進階篇
1 # cat /etc/mtab
1 2 #//fuser用于顯示正在通路某個檔案的程序 # fuser /media/   -km強制終止正在通路此挂載點的程序,謹慎使用哦!
Centos 磁盤管理 進階篇

定義核心中的磁盤清寫政策,由核心自己維護。

1 2 3 4 5 6 7 8 9 10 #remount:重新挂載 #mount #mount -o remount,ro /dev/sda3隻要此前挂在過就無需重新指定挂載點 loop:本地回環裝置,其實不是個裝置,是個檔案 mount -o  remount,other_options device mount -o loop,other_options device mount point用于挂載回環裝置 -n:挂載檔案系統時不更新cat /etc/mtab檔案 -r:相當于“-o,ro”隻讀挂載 fuser [mount_point]//檢視正在通路挂載點的程序 fuser -km[mount_point]//強行殺死正在通路此挂載點的程序
1 #/etc/fstab//使用空白字元分割的六個字段
Centos 磁盤管理 進階篇
1 2 3 4 5 6 7 8 9 10 11 1)挂載的裝置:    裝置檔案、卷标、UUID(伺服器上儲存設備較多時可使用) 2)挂載點(一定要是空目錄) 3)檔案系統類型:ext2、ext3、ext4。。。。。 4)挂載選項:defaults表示使用預設選項,多個選項之間逗号分隔; 轉儲頻率:也備份頻率(就是多長時間做一次備份)       0:從不備份,預設此選項即可       1:每日備份              2、每隔一天備份 5)自檢次序-做檔案系統檢測(檔案系統不一緻的情況下) 6)定義自檢次序:

ext3日志檔案系統

      0:不檢測

1、:第一個檢測:一般隻有根檔案系統被第一個檢測,一般來講隻能是根為1

1 2 3 4 2-9逐個檢測 #vim + //直接打開檔案并定位至最後一行 #vim + /etc/fstab #按小寫字母o,在目前光标所在行下行建立一行并轉換為輸入模式
Centos 磁盤管理 進階篇
1 2 a)上面的操作隻能保證下次開機啟動時自動挂載哦! b)下面的操作是立即挂載到目前相關聯的目錄上,是随時都可以使用的啦!
Centos 磁盤管理 進階篇
1 #mount -a //挂載/etc/fstab所有支援auto挂載選擇的檔案系統

Linux 的交換分區:SWAP

1)建立交換分區

Centos 磁盤管理 進階篇
Centos 磁盤管理 進階篇
Centos 磁盤管理 進階篇
1 2 3 mkfs -t [fstype] partition 1、檔案系統必須被核心支援才能使用,即核心中有相應的核心子產品或者已經編譯進核心; 2、要有相應的檔案系統建立工具,mkfs.fstype,于核心子產品一一對應

啟用交換分區

1 2 3 #mkswap  device//啟用交換分區 #swapon device //啟用指定交換分區 #swapoff -a //啟用所有交換分區

禁用交換分區

1 2 3 #swapoff device #swapopp -a #開機啟動交換分區,可寫入到/etc/fstab

挂載時注意以下兩點即可

1 2 1)挂載點填寫swap 2)檔案系統類型填寫swap

将分區資訊寫入核心

Centos 磁盤管理 進階篇

建立交換分區

Centos 磁盤管理 進階篇

設定開機自動挂載

完!

繼續閱讀