Linux 磁碟管理實踐

來源:互聯網
上載者:User

Linux 磁碟管理實踐
問題描述

研一的小夥伴向我反應實驗室的 Confluence 知識管理系統上傳不了附件,經過排查發現是磁碟空間不足了,使用 df 命令查看磁碟使用量如:

實驗室的Linux檔案伺服器有三塊硬碟,分別為 250GB、1TB、1TB,對應的裝置檔案名稱分別為 /dev/sda/dev/sdb/dev/sdc,但圖中看到只有兩塊硬碟的資訊,是因為第二塊磁碟作為物理的 RAID1 備份第三塊磁碟。

現在檔案系統的掛載資訊如下:

磁碟分割 裝置名稱 大小 可利用率 掛載點
Disk1 Partition1 /dev/sda1 194MB 62% /boot
Disk1 Partition2 /dev/sda2 40GB 100% /
Disk1 Partition4 /dev/sda4 104GB 31% /var/ftp/cluster
Disk3 Partition1 /dev/sdc1 917GB 2% /home

通過下面的 du 命令可以看到 Confluence 的工作目錄 /var/atlassian 已佔用 22GB:

[root@archlab-server2 /]# du -sh /var/atlassian/22G     /var/atlassian/

當時搭建伺服器的時候磁碟規劃不合理,才導致現在磁碟空間不足的現象。那現在補救的方法只能是重新劃分磁碟分割,初步計劃是完成下面兩步:

  • 減小磁碟3上分區1的大小,在磁碟3上增加一個新的分區;
  • 將新增分區掛載到 /var/atlassian 目錄下,將以前該目錄在磁碟1上的檔案拷貝到新分區並釋放以前分區空間。
減小分區大小

首先減小 Disk3 的第一個分區的大小,由於該分區已經掛載到 /home 目錄下,因此先要卸載該分區(在卸載之前做備份,將該目錄全部拷貝到另一個分區上),使用命令 umount 卸載:

[root@archlab-server2 /]# umount /dev/sdc1umount: /home: device is busy.        (In some cases useful info about processes that use         the device is found by lsof(8) or fuser(1))

提示裝置忙的資訊,原因是由於 /home 目錄正在被某個進程使用,可以使用 fuser 命令來終止使用該目錄的所有進程:

[root@archlab-server2 /]# fuser -km /home/home:                2639m

再完成卸載即可。現在可以調整該分區的大小,有兩種方法:一種是使用命令列命令來操作,另一種是使用圖形化的軟體 GParted。其實圖形化軟體也是調用 Linux 的命令來實現的,這裡為了簡便我就安裝了 GParted,使用該軟體完成調整分區的大小(該軟體操作很簡單,就不多說),如:

/dev/sdc1 調整到近 420GB。最後別忘了通過命令 mount/dev/sdc1 重新掛載到 /home 目錄下,否則訪問 /home 目錄下的檔案就自動去 /dev/sda2 磁碟分割下尋找:

[root@archlab-server2 /]# mount /dev/sdc1 /home
新增分區

接下來在未分配的 500 多GB 上再分出一個分區(200GB),也可以使用 GParted 來分配,這裡我使用命令 fdisk 來完成:

[root@archlab-server2 /]# fdisk /dev/sdcWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): pDisk /dev/sdc: 1000.2 GB, 1000204886016 bytes255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisk identifier: 0x358b358b   Device Boot      Start         End      Blocks   Id  System/dev/sdc1   *           1       54721   439544800+   7  HPFS/NTFSPartition 1 does not start on physical sector boundary.Command (m for help): nCommand action   e   extended   p   primary partition (1-4)pPartition number (1-4): 2First cylinder (54721-121601, default 54721):Using default value 54721Last cylinder, +cylinders or +size{K,M,G} (54721-121601, default 121601): +200GExpert command (m for help): wThe partition table has been altered!

使用指令 m 可以列出所有指令的含義,指令 p 列印出該磁碟的所有分區資訊,n 建立分區,輸入建立分區的資訊(如分區類型、分區起始結束位置等),這裡為新增分區分配了 200GB 的空間,完成之後輸入 w 才執行實際的操作,更改分區表。

格式化分區

分區完成後要進行檔案系統的格式化,使用命令 mkfs 指定格式檔案系統的類型:

[root@archlab-server2 /]# mkfs -t ext4 /dev/sdc2
掛載分區

新增並格式化一個分區之後,就到最後一步,將該分區掛載到 /var/atlassian 目錄下,操作步驟如下:

  1. /dev/sdc3 掛載到一個臨時的目錄,如 /home/tmp
  2. /var/atlassian 目錄下所有檔案剪下到 /home/tmp 下,即為 /dev/sda2 釋放空間
  3. /dev/sdc3/home/tmp 目錄下卸載
  4. 最後將 /dev/sdc3 掛載到 /var/atlassian

由雩都是使用 mountumount 兩個命令來完成,就不寫出命令過程了。

那麼通過上述幾步即完成了 /var/atlassian 目錄下的資料由以前存放在 磁碟1分區2 到 新增的磁碟3分區2 上的轉移,

最後我們用塊裝置查看命令 lsblk 查看系統塊裝置資訊:

[root@archlab-server2 /]# lsblkNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      8:0    0 149.1G  0 disk├─sda1   8:1    0   200M  0 part /boot├─sda2   8:2    0    40G  0 part /├─sda3   8:3    0     4G  0 part [SWAP]└─sda4   8:4    0 104.9G  0 part /var/ftp/clustersdb      8:16   0 931.5G  0 disk├─sdb1   8:17   0 931.5G  0 partsdc      8:32   0 931.5G  0 disk├─sdc1   8:33   0 419.2G  0 part /home└─sdc2   8:34   0 331.5G  0 part /var/atlassian
總結
  • 熟練掌握幾個磁碟管理的命令 —— df / du / fdisk / mkfs / mount / umount
  • 理解磁碟分割、檔案系統、掛載點的概念

在 Linux 下你所不知道的 df 命令的那些功能 

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.