Linux磁盤管理

面對一塊硬盤,我們該如何使用它呢?本文從機械硬盤結構,分區,格式化,和掛載四個層次進行介紹。

一、機械硬盤結構

現在服務器使用機械式硬盤是主流,因為其造價低,容量大,和固態硬盤相比讀寫性能要差很多。機械硬盤主要由以下幾個部件構成:轉軸Spindle,盤片Platter,機械臂Boom,磁頭Head。工作機制是馬達帶動盤片高速旋轉,磁頭對盤片進行擦寫數據或讀取其上存儲的數據。

e5675f11jw1esonqhcw53j20ei084t9q.jpg

基于這種工作機制有如下幾個存儲術語

1.磁道Track:盤片上狹窄的同心圓環,最外側為0磁道

2.扇區Sector:磁道上一小塊弧段稱為扇區,硬盤存儲單位,大小為512字節

        對每個扇區進行編號,稱為邏輯塊地址LBA

3.柱面Clinder:編號相同的磁道構成柱面

二、分區

了解硬盤結構后,接著講一下分區。一塊新硬盤使用,首先要進行分區操作,分區起到隔離的效果,方便管理。分區有兩種方式:

  1. MBR(Master Boot Record),傳統分區方式

  2. GPT(GUID Partition Table),較新分區方式

(1)MBR分區

使用32位表示扇區數,最大支持2T空間。在0磁道0扇區記錄啟動代碼(前446字節)和分區表信息,如下圖所示

225748114.jpg

由分區表可以看出MBR分區方式只能劃分四個主分區,如果要劃分四個以上分區,需要劃分一個擴展分區,在擴展分區下繼續劃分邏輯分區。

分區工具fdisk

fdisk是一款交互式工具,可以用來創建和管理磁盤分區。

fdisk [-uc] device 進入分區工具界面

輸入m查看幫助,常用指令有

n:新建分區

t:改變分區類型編號

d:刪除分區

p:查看分區列表

q:不保存退出

w:保存并退出

    注意:操作完成之后,要使用w退出,才會生效

blob.png

如果退出報同步錯誤,則需要手動同步分區信息

增加分區同步

Centos6:partx -a device
Centos7:partprobe

刪除分區同步

Centos6:partx -d device
Centos7:partprobe

可使用如下命令查看內核識別的分區情況

cat /proc/partitions    
lsblk

fdisk -l [devices…]    查看分區情況

[root@centos6 ~]$ fdisk -l /dev/sda  

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005aba0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2614    20480000   83  Linux
/dev/sda3            2614        3889    10240000   83  Linux
/dev/sda4            3889       13055    73624576    5  Extended
/dev/sda5            3889        4411     4194304   82  Linux swap / Solaris
/dev/sda6            4411        5716    10484362+  83  Linux

(2)GPT分區

使用64位表示扇區數,最大支持容量18EB,GPT明顯優點在于可以劃分128個分區。

0扇區稱為MBR保護扇區,防止MBR磁盤管理軟件誤認為未分區硬盤,以防止分區表及硬盤數據遭到破壞。在尾部備份了分區表信息,保證分區信息不易丟失。

112519312.jpg

GPT方式分區工具:gdisk

用法與fdisk類似,也是交互式工具,不再詳述。

三、格式化

對硬盤進行分區后,接著對分區進行格式化。格式化操作是在分區上創建文件系統,所謂文件系統,即一種存儲和組織計算機數據的方法,文件系統使用文件和樹形目錄的抽象邏輯概念來替代硬盤物理設備使用數據塊的概念,負責文件的存儲并對存入的文件進行保護和檢索。

Linux常用文件系統:

    ext2,ext3,ext4

    xfs(SGI)

    btrfs(Oracle)還未正式商用,處于測試階段

    swap(交換分區)

    vfat 對應windows的fat32文件系統

其中支持日志功能的文件系統有:

    ext4,xfs,btrfs

命令部分:

注意,執行格式化操作會擦除分區上原有的數據

創建文件系統工具:mkfs.fs_type

mkfs.ext4 /dev/sda1    #簡單地在sda1分區上創建ext4文件系統

ext文件系統創建專用工具:

mke2fs [options] device

options選項

-t    指定文件系統類型

-L    設定一個卷標

-b {1024|2048|4096}    指定塊大小

-N    指定明創建inode數量

-i    指定多少字節創建一個inode,一般要大于block大小

-m    指定預留空間的百分比,默認是5%,此部分空間供管理員在分區存滿數據時維護使用

-O [^]FEATURES    以指定特性創建文件系統,特性前加^表示關閉該特性

默認參數配置文件:/etc/mke2fs.conf

mke2fs -t ext4 -L mydata -b 2048 -N 20000 -m 1  /dev/sda7
#創建了一個 ext4文件系統,指定卷標mydata,塊大小2048,20000個inode,預留空間1%

blob.png


擴展內容

1.卷標查看與設定工具:

e2label device [newlabel]

2.修改ext文件系統某些屬性工具

tune2fs  [options] device

[options]選項

-l    查看超級塊內容

-L    修改卷標

-m    修改預留空間百分比

-O    文件系統屬性啟用或禁用,^表示禁用

-o    調整文件系統默認掛載選項,^表示禁用

-c    調整最大掛載次數。當掛載次數超過此數值時,進行文件系統檢查

3.顯示超級塊信息和組信息工具

dumpe2fs  [options] device

4.文件系統檢測與修復工具

常常用于非正常關機或死機之后

文件系統狀態標識為dirty時使用

blob.png

fsck.fs_type       #例如fsck.ext4
e2fsck             #ext系列文件系統檢測工具
    -y    自動回答yes
    -f    強制檢查,即使沒有問題也進行檢查

四、掛載

創建好一個文件系統之后,接著需要將該設備掛載到根下某一目錄。即將一個文件系統關聯到Linux上目錄樹結構上,該目錄為此文件系統的入口。

命令部分:

mount [options] device dir

options介紹

a    掛載所有有自動掛載選項的設備

-r    只讀掛載

-n    禁止向/etc/mtab 同步mount操作

-L    指定卷標來掛載

-U    指定uuid的設備掛載

-o    掛載選項

掛載選項說明,有些選項在/etc/fstab 里指定才會生效

remount    重新掛載

loop    指定掛載回環類型設備

noatime    禁止atime更新

noexec    禁止程序執行

auto/noauto    是否可被-a選項自動掛載

user    可指定一個用戶可掛載此設備

default    默認選項代表rw, suid, dev, exec, auto, nouser, async, and relatime

擴展內容

1.如果設備需要開機自動掛載,則需要寫在/etc/fstab 文件中

文件格式:

  1. 要掛載的設備或偽文件系統

      –建議使用uuid指定設備,設備名容易變更

  2. 掛載點

  3. 文件系統類型

  4. 選項

  5. 轉儲頻率

      –0:不轉儲 1:每天轉儲 2:隔天轉儲

  6. 自檢次序

      –0:不自檢 1:首先自檢,一般是根目錄 2:次序自檢

blob.png

2.卸載設備

umount device|dir

如果卸載某設備,顯示掛載點正忙無法卸載,則采取如下辦法

1)查看掛載點被哪些程序占用,然后殺掉

lsof  dir
fuser -v dir

2)終止所有正在訪問掛載點的所有進程


fuser -km dir

五、交換分區swap創建

當內存空間不足時,內核會將內存中一些緩存數據存放到swap分區上。交換分區最好劃分在磁盤外道,達到最高存儲性能。

1、交換分區必須指定分區類型為swap

blob.png

blob.png

即在分區時,使用t改變分區類型編號

2、對指定的分區或者一個文件設定為交換空間

mkswap /dev/sda7

blob.png

3、啟用交換分區

swapon -s         #查看交換分區啟用情況

blob.png

swapon  /dev/sda7   #啟用交換分區或者 swapon -a 啟用所有交換分區

blob.png

至此添加成功。

擴展內容

關閉交換分區

swapoff /dev/sda7

交換分區可指定優先級,創建不指定優先級則依次減少1,最開始為-1

命令指定優先級 swapon -p {0-32767} device|file

交換分區在/etc/fstab 文件中格式,優先級指定pri=

blob.png

六、各種查看命令補充

lsblk [dev] #查看分區情況

blob.png

blkid  [dev]  #打印塊設備屬性,可查看分區類型

blob.png

findmnt    #查看所有已掛載設備

blob.png

原創文章,作者:cutemsyu,如若轉載,請注明出處:http://www.www58058.com/41405

(1)
cutemsyucutemsyu
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:49

相關推薦

  • vim 編輯器 定時任務 bash基礎

    vim 編輯器 定時任務 bash基礎

    2017-10-17
  • HAProxy基于Keepalived做高可用并簡單實現Web站點的動靜分離

    HAProxy簡介   HAProxy 是一個免費的,非??焖俸涂煽康慕鉀Q方案,提供 高可用性, 負載均衡和代理對TCP和HTTP的應用程序。它特別適用于非常大流量網站。多年來,它已成為標準開源的負載均衡,現在隨最主流的Linux發行版,并且通常默認的云平臺部署。 實驗描述 1、本實驗主要是在前端放置兩臺通過Keepalived做了高可用的HAProxy反向…

    Linux干貨 2016-04-16
  • Linux 入門(二)

    又一個周的時間過去了,覺得時間過的好快的呢,大概是因為沉迷于學習吧(害羞臉),在這一周里學習了不少東西呢,下面就來總結一下吧 (1)    cp 復制 如果只是單純的敲cp復制文件而不加任何選項的時候,如果目的目錄文件已經存在,就會直接覆蓋,而不會出現任何提示信息,而當在實際操作時,就算不加 –i選項,也會提示要不要覆蓋文件 原…

    2017-07-22
  • Linux進程管理常用命令(二)

       htop命令:         選項:         -d # : 指定延遲時間間隔;         -u  UserName :僅顯示指定用戶的進程;       &n…

    Linux干貨 2017-01-05
  • 文件搜索之find的使用

    一.find介紹:   find是Linxu中一個十分常用的文件查找工具,其工作原理是通過遍歷啟起始路徑下文件層級結構完成的,其特點是查找速度慢,能做到實時查找和精確查找。 二.使用方法: find  start_path search_conditions  action 1.statr_path:所要查找的文件的起始位置,默…

    Linux干貨 2016-11-01
  • Raspberry pi設置自動撥號,搭建無線路由環境

    Raspberry pi設置自動撥號,搭建無線路由環境 前言  raspberry pi(樹莓派), 是一款針對電腦業余愛好者、教師、小學生以及小型企業等用戶的迷你電腦,由于可以燒錄Linux操作系統,因此可以衍生出各種各樣的使用途徑,諸如控制版,爬蟲機器,個人vps,門禁系統…..本文主要介紹如何在raspberry pi上面完成pppoe撥號上…

    2017-03-28

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-02 10:07

    文章內容很完整,圖文并貌,整篇博客能讓人看到很多專業性所在,也能看出很用心的地方,革命尚未成功,同志仍需努力啊,加油!

欧美性久久久久