鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 Ubuntu 暫時不能解析功能變數名稱及解決辦法 可能的解決方案:重啟虛擬機網卡 前提:主機使用無線網,Win10;虛擬機採用NAT模式,Ubuntu20.04 最近移動過vmware的文件,導致虛擬機開機後使用sudo apt-get時會提示暫時不能解 ...
硬碟操作
為什麼要給硬碟分區?
如果你需要在一塊硬碟上用到多個文件系統,那麼你就需要對硬碟進行分區,以便用不同的分區支持不同的文件系統。(但一個硬碟只能有一個分區表!)反過來說,如果你整塊硬碟都用同樣的文件系統,那麼就可以不對硬碟分區。
Linux伺服器硬碟該選擇什麼分區表?
需要分區的話推薦無腦GPT。
MBR分區工具--fdisk
GPT分區工具--gdisk
兩者都是引導式的分區工具,做出更改後只要不寫入,程式就不會對硬碟做出任何操作。
還有一個parted,它是非互動式的分區工具。
硬碟可以不分區直接用嗎?
硬碟可以不分區,直接格式化(文件系統格式)掛載好就能拿來用(如果想保持開機生效一定不要忘了修改/etc/fstab文件!)對於不分區的硬碟,系統會把它的分區表類型標記為loop。但實際上,loop並不是一種分區表類型。至於為什麼會顯示loop,是因為parted命令在(設置了LVM?)的這塊硬碟上找不到分區表。
區別概念: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。