Centos磁碟管理 進階篇

來源:互聯網
上載者:User

建立分區相關命令:

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

12#fdisk -l ------//可列出所有磁碟的相關分區資訊 #fdisk -l /dev/sda----//查看sda磁碟的相關分區資訊

圖1

123456Linux: Sda[1-4] S(介面類型)da1:第一個主要磁碟分割 Sda2:第二個主要磁碟分割 Sda3:第三個主要磁碟分割 Sda4:第四個主要磁碟分割

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

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

圖2

12345d 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

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

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

圖3

確認無誤儲存退出

圖4

再建立兩個6G的分區:

圖5

:主要磁碟分割編號只有一個了,要再建立任意兩個分區就只能,先建立擴充分區,在擴充分區裡面建立邏輯分區。

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

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

圖6

圖7

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

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

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

圖8

再新增6G邏輯分區

圖9

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

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

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

圖10

貌似,5、6號分區也都隨著擴充分區的刪除消失了!

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

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

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

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

圖11

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

圖12

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

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

查看核心識別的分區資訊:

1#cat /proc/partitons

圖13

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

任何程式修改硬體必須要通過核心,必須要同步給正在啟動並執行核心,讓核心識別才行啊!問題是該怎樣同步呢?

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

查看實驗測試機版本相關資訊:

1234#cat /etc/issue #lsb_release -a #cat /proc/version #uname -a

圖13-1

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

partprobe [Device]——重新探測

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

圖14

讀取失敗,重啟之前是無效的。

沒有被讀取到

RHEl6使用另外一個命令

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

123456partx -a [partition] device #man partx -a add specified partitions or read disk and add all partitions.讀取所有的 -l list partitions. Note that the all numbers arein 512-byte sectors.

1#cat /proc/partitions 查看核心識別分區表情況

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

圖18

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

OK,核心都識別了!

圖19

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

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

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

Linux建立分區命令:

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

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

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

圖20

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

圖21

UUID———表示全域唯一號,是一列隨機字串將來硬碟數量很多的情況下,可以使用UUID來進行管理硬碟分區,所以每一個分區都給建立了一個通用唯一識別碼

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

註:擴充分區不能格式化

123456#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位元組預設}

圖22

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

1#mke2fs -t ext4 -b2048/dev/sda3

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

塊大小指的是什麼呢?

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

查看磁碟分割相關屬性資訊

123#tune2fs - l devcie |grep “Block size” #tune2fs -l /dev/sda3 Block size:4096 # tune2fs -l /dev/sda3 | grep"Block size"

圖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.

12#mke2fs -t ext3 -b1024-L mytest1/dev/sda3 註:塊越小格式化的時間越長

要顯示塊大小

1#Tune2fs -l device | grep “Block size”

圖24

-L指定卷標,設定卷標

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

卷標有可能也會重複,乾脆使用UUID吧!

1#mke2fs -b1024-L mytest1 /dev/sda3

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

圖25

1#blkid /dev/sda3 還可以顯示LABEL資訊

圖26

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

# tune2fs -l /dev/sda3 | grep "Reserved" 查看磁碟預設預留空間

圖27

1# echo $[577085/11541700]

[root@localhost ~]# bc

577085/ 11541700

0

scale=2設定精度

577085/ 11541700*/

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

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

12# mke2fs -t ext4 -b2048-m3-L mytest1 /dev/sda3 # tune2fs -l /dev/sda3 |grep"Reserverd"

圖28

圖29

圖30

隨著塊大小的改變,預留空間較之前有較大的變化。

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

修改分區相關屬性

重新設定卷標:-L

123#blkid /dev/sda3 #tune2fs -L test2 /dev/sda3 #blkid /dev/sda3

圖31

調整塊大小:-m

12#tune2fs -m5/dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”

圖32

12#tune2fs -m1 /dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”

圖33

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

e2label顯示設定卷標

123#e2label /dev/sda3 #e2label /dev/sda3 test3 #e2label /devsda3

下篇

掛載

概念:掛載其實就是關聯關係的過程。

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

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

mount選項:

123456789101)-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 realatime9)sync同步寫入,效能差,CPU到記憶體10NS,CPU到硬碟100NS10)async非同步寫入,大部分使用的是非同步,效能好

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

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

1)建立空白目錄

123456#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

2)掛載,建立關聯關係

12# mount -t ext4 /dev/sda3 /test_m1/# ls /test_m1/

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

3)反掛載,也就是卸載了

卸載的時候只需要指定一項目即可,要麼是掛載點、要麼是分區名稱

4)使用卷標掛載

12# e2label /dev/sda3# mount LABEL="test2" /test_m1/



6使用卷標卸載umount /test_m1/

LABEL=”卷標”

7)使用UUID掛載

UUID=“UUID”

12# blkid /dev/sda3# mount UUID="a54233f0-51c0-4f30-9a0f-eea4c0999f49" /test_m1/

1#mount ——————>顯示當前系統掛載的所有裝置

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

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

fdisk - l RHEL 6上面是顯示所有的磁碟分割的

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

12mount://將某檔案系統關聯至根檔案系統上來mount://顯示所有掛在的裝置

12# cat /etc/mtab追蹤當前系統上所有已掛載檔案系統的檔案,隨時會更新。# umount /dev/sda3

1# cat /etc/mtab12#//fuser用於顯示正在訪問某個檔案的進程# fuser /media/ -km強制終止正在訪問此掛載點的進程,謹慎使用哦!

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

12345678910#remount:重新掛載#mount#mount -o remount,ro /dev/sda3隻要此前掛在過就無需重新指定掛載點loop:本地迴環裝置,其實不是個裝置,是個檔案mount -o remount,other_options devicemount -o loop,other_options device mount point用於掛載迴環裝置-n:掛載檔案系統時不更新cat /etc/mtab檔案-r:相當於“-o,ro”唯讀掛載fuser [mount_point]//查看正在訪問掛載點的進程fuser -km[mount_point]//強行殺死正在訪問此掛載點的進程

1#/etc/fstab//使用空白字元分割的六個欄位

12345678910111)掛載的裝置:裝置檔案、卷標、UUID(伺服器上存放裝置較多時可使用)2)掛載點(一定要是空目錄)3)檔案系統類型:ext2、ext3、ext4。。。。。4)掛載選項:defaults表示使用預設選項,多個選項之間逗號分隔;轉儲頻率:也備份頻率(就是多長時間做一次備份)0:從不備份,預設此選項即可1:每日備份2、每隔一天備份5)自檢次序-做檔案系統檢測(檔案系統不一致的情況下)6)定義自檢次序:

ext3記錄檔系統

0:不檢測

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

12342-9逐個檢測#vim +//直接開啟檔案並定位至最後一行#vim + /etc/fstab#按小寫字母o,在當前游標所在行下行建立一行並轉換為輸入模式

12a)上面的操作只能保證下次開機啟動時自動掛載哦!b)下面的操作是立即掛載到當前相關聯的目錄上,是隨時都可以使用的啦!

1#mount -a//掛載/etc/fstab所有支援auto掛載選擇的檔案系統

Linux的交換分區:SWAP

1)建立交換分區

123mkfs -t [fstype] partition1、檔案系統必須被核心支援才能使用,即核心中有相應的核心模組或者已經編譯進核心;2、要有相應的檔案系統建立工具,mkfs.fstype,於核心模組一一對應


啟用交換分區

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

禁用交換分區

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

掛載時注意以下兩點即可

121)掛載點填寫swap2)檔案系統類型填寫swap

將分區資訊寫入核心

建立交換分區

設定開機自動掛載

完!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.