硬碟操作
為什么要給硬碟磁區?
如果你需要在一塊硬碟上用到多個檔案系統,那么你就需要對硬碟進行磁區,以便用不同的磁區支持不同的檔案系統,(但一個硬碟只能有一個磁區表!)反過來說,如果你整塊硬碟都用同樣的檔案系統,那么就可以不對硬碟磁區,
Linux服務器硬碟該選擇什么磁區表?
需要磁區的話推薦無腦GPT,
MBR磁區工具--fdisk
GPT磁區工具--gdisk
兩者都是引導式的磁區工具,做出更改后只要不寫入,程式就不會對硬碟做出任何操作,
還有一個parted,它是非互動式的磁區工具,
硬碟可以不磁區直接用嗎?
硬碟可以不磁區,直接格式化(檔案系統格式)掛載好就能拿來用(如果想保持開機生效一定不要忘了修改/etc/fstab檔案!)對于不磁區的硬碟,系統會把它的磁區表型別標記為loop,但實際上,loop并不是一種磁區表型別,至于為什么會顯示loop,是因為parted命令在(設定了LVM?)的這塊硬碟上找不到磁區表,
參考連接:hard disk - Is partition table type "loop" a good or bad idea on BTRFS? - Unix & Linux Stack Exchange
區別概念:loop設備
parted /dev/sdc print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 5369MB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 5369MB 5369MB xfs
sector size(扇區大小)與block size(塊大小)
sector size是關于硬碟最小的存盤單位扇區大小的描述(物理層面),而block size則是屬于檔案系統層面的概念,
檔案系統不是一個扇區一個扇區的來讀資料,太慢了,所以有了block(塊)的概念,作業系統是通過塊和簇為單位進行讀寫的,也就是說一個塊可以由一個或多個扇區組成,
檔案系統
服務器硬碟的block大小必須是4k嗎?
不必須,block本身有一些限制,摘自《鳥哥的Linux私房菜》
? 原則上,block 的大小與數量在格式化完就不能夠再改變了(除非重新格式化);
? 每個block 內最多只能夠放置一個檔案的資料;
? 承上,如果檔案大于block 的大小,則一個檔案會占用多個block 數量;
? 承上,若檔案小于block ,則該block 的剩余容量就不能夠再被使用了(磁盤空間會浪費),
總的來說,如果block設定過大,會造成磁盤空間的浪費,但設定的過小會造成硬碟頻繁讀寫,降低效率,可以根據服務器的用途來判斷需要對檔案系統設定多少block size,不過,因為現在的硬碟容量都很大,一般都無腦選擇4k的容量,xfs檔案系統默認的block size是4096位元組,也可以通過mkfs.xfs追加-b引數來修改block size,
什么是4k對齊?
原先硬碟的每個扇區容量是512位元組bytes,后來隨著硬碟容量的擴大,每個扇區的容量擴大到4096位元組,為了和硬碟的物理扇區保持對齊,檔案系統將block(Linux)/cluster簇(Windows)的大小也設定為4096位元組,這種操作就是4k對齊,
Linux如何驗證4k對齊?
比較新的檔案系統默認4k對齊,對于GPT磁區的硬碟可以使用parted /dev/sda unit s print來查看驗證
parted /dev/sdb unit s print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 20971520s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 2099199s 2097152s xfs Linux filesystem
start扇區可以被8整除就表示4k對齊了,
dumpe2fs和tune2fs最高支持ext4檔案系統,不支持xfs,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/469772.html
標籤:Linux
上一篇:Ubuntu 暫時不能決議域名
