disk management command
在管理上會去檢視硬碟使用量,資料夾資料大小,如果掛硬碟跟卸下硬碟也會有專用 command
df -h: 列出所有已掛載的硬盤的分區信息以及剩餘空間大小,結果長這樣
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.6G     0  7.6G   0% /dev
tmpfs           7.7G     0  7.7G   0% /dev/shm
tmpfs           7.7G  801M  6.9G  11% /run
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/nvme0n1p1  100G  6.0G   95G   6% /
/dev/nvme1n1    300G  7.1G  293G   3% /var/gogo
tmpfs           1.6G     0  1.6G   0% /run/user/1000
du -sh *: 列出當前目錄下所有文件和子目錄的大小
[root@72slaves ~]# du -sh *
0   123
4.0K    123.sh
4.0K    anaconda-ks.cfg
60K app
156K    async-fastapi-mongo
2.8M    cf-workers-status-page-v1
36K docker
......
lsblk -f:檢視是否有任何磁碟區已在啟動時映射,但尚未格式化和掛載。 以下是一般都有掛載時.
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sr0             iso9660     CentOS 7 x86_64 2020-04-22-00-54-00-00
vda
├─vda1          xfs                         68c17843-072c-45ce-b3ea-c48a6eb5317c   /boot
└─vda2          LVM2_member                 4GHWpr-dPQk-Dn22-Uhou-uxN4-4ZbT-r9OY0H
  ├─centos-root xfs                         ff74c584-efb1-40b3-b607-c0f0b5d37fa1   /
  ├─centos-swap swap                        8d866b90-7445-4ee7-ae20-f3742e5971ec   [SWAP]
  └─centos-home xfs                         0119a471-e11b-4803-9c19-42e637ed372a   /home
如果您要掛載的磁碟區已有資料 (例如,從快照建立的磁碟區),請不要使用此命令。
mkfs -t xfs /dev/urdisk:格式化硬碟並指定檔案系統.
mkdir -p /data:先建立好/data 資料夾
mount /dev/urdisk /data:把硬碟掛載到/data 資料夾(請先建立好/data 資料夾)
umount /data:由/data 卸載硬碟
how to mount disk in aws
以 aws 為例,要申請硬碟並在 instance 上用機器掛載
- 開啟 AWS EC2 控制台
 - 選擇要掛載硬碟的實例,並在左側選單點擊「Volumes」
 - 在「Volumes」頁面點擊「Create Volume」
 - 設定硬碟大小、AZ、類型等資訊,並點擊「Create Volume」
 - 等待硬碟創建完成,沒有完成你 attach volume 做
 - 在「Volumes」頁面勾選剛剛創建的硬碟,點擊「Actions」,選擇「Attach Volume」
 - 在「Attach Volume」彈出框中選擇要掛載硬碟的 EC2 實例,以及設定掛載路徑和裝置名稱
 - 點擊「Attach」
 - 登入 EC2 實例,執行指令 
lsblk -f確認硬碟是否掛載成功,去找那個沒有 FSTYPE 的 NAME,EX:xvdf,: 
NAME        FSTYPE  LABEL   UUID                        MOUNTPOINT
xvda
├─xvda1   xfs          /     d0c265c4-6ea1-4060-b815-520e1c2aae05    5.8G    26% /
├─xvda127
└─xvda128 vfat   FAT16       606C-CF35
xvdf
- 如果硬碟還沒有格式化,執行指令 sudo mkfs -t xfs /dev/xvdf 格式化硬碟(假設硬碟裝置名稱是 /dev/xvdf)
 - 建立要掛載硬碟的目錄,例如 sudo mkdir /data
 - 將硬碟掛載到目錄上,例如 sudo mount /dev/xvdf /data
 - 確認掛載成功,執行指令 df -h 查看!
 - 用 
lsblk -f去看 UUID 
[root@ford-ec2-bastion-uw1 ~]# lsblk -f
NAME      FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
xvda
├─xvda1   xfs          /     d0c265c4-6ea1-4060-b815-520e1c2aae05    5.8G    26% /
├─xvda127
└─xvda128 vfat   FAT16       606C-CF35
xvdf      xfs                8dbb60fe-5653-4668-8a7f-7cdeba1e7839
- 若要在每次系統開機時掛載連接的 EBS 磁碟區,先用 lsblk -f 看 UUID,並 vim /etc/fstab 加入以下(UUID 換成自己的).
 
UUID=8dbb60fe-5653-4668-8a7f-7cdeba1e7839  /data  xfs  defaults  0  0
在以上範例中,將 UUID aebf131c-6957-451e-8d34-ec978d9581ae 的裝置掛載至掛載點 /data,並使用 xfs 檔案系統.
第四欄是檔案系統參數,可以上網查個選項!
第五欄是 dump,dump 會根據這個設定決定是否需要備份,一般為 0, 即不備份;1 為每日備份;2 為隔日備份,dump 僅支援 EXT 家族,若使用 xfs 檔案系統,則不用考慮 dump 項目。因此直接輸入 0 即可。
第六欄: fsck ,早期開機的流程中,會有一段時間去檢驗本機的檔案系統,看看檔案系統是否完整 (clean)。 不過這個方式使用的主要是透過 fsck 去做的,我們現在用的 xfs 檔案系統就沒有辦法適用,因為 xfs 會自己進行檢驗,不需要額外進行這個動作!所以直接填 0 就好了。(以上四五六項內容參考自鳥哥)
- 檢查是否有掛載成功
 
# Verify mount disk successfully
umount /data
mount -a
how to umount disk in aws
- 先做好備份,如果做錯了,該怎麼還原要先想好
 - 檢查該 300G 是否有被啟動的服務使用到 指令 ex.
lsof /dev/vda1 - 停掉相關有使用的服務
 - 將該 300G 的硬碟 umount 掉 ex.
umount /data - 檢查/etc/fstab 上有無設定掛載那 300G 硬碟
 - 將/etc/fstab 有設定的那 300G 註解掉
 - 下 mount -a 檢查有沒有確實拿掉,這樣在下次重開機就不會在吃到的
 - 從 AWS 上直接把那顆硬碟做刪除
 
how to extend disk in aws
擴充硬碟可以透過熱擴展的方式,不用先停機!以下是依據官網這篇操作
- 先擴充硬碟空間(到EBS那邊針對你要擴充的硬碟做modify)
 - 到主機上使用以下指令
- 檢查是否有分割區,請使用
lsblk指令 
 - 檢查是否有分割區,請使用
 
xvda     202:0    0    22G  0 disk
├─xvda1  202:1    0  21.9G  0 part /
├─xvda14 202:14   0     4M  0 part
└─xvda15 202:15   0   106M  0 part /boot/efi
舉以上為例,正常有分配完的磁碟區並具有分割區會長得像以上這樣
xvda     202:0    0    22G  0 disk
├─xvda1  202:1    0  8G  0 part /
├─xvda14 202:14   0     4M  0 part
└─xvda15 202:15   0   106M  0 part /boot/efi
沒有分配好的則會像這樣,可以看到/dev/xvda的空間是大於下方分割區加總.
- 擴充硬碟 
growpart /dev/xvda 1 - 確認檔案系統格式是ext4還是xfs,已確認擴充檔案系統指令,請使用
df -hT 
root@ip-10-0-0-83:~# df -hT
Filesystem     Type     Size  Used Avail Use% Mounted on
/dev/root      ext4      22G   15G  7.0G  68% /
tmpfs          tmpfs    479M     0  479M   0% /dev/shm
tmpfs          tmpfs    192M  952K  191M   1% /run
tmpfs          tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/xvda15    vfat     105M  6.1M   99M   6% /boot/efi
tmpfs          tmpfs     96M  4.0K   96M   1% /run/user/1000
overlay        overlay   22G   15G  7.0G  68% /var/lib/docker/overlay2/5efc459a6424331257227c5f5152d25d735ed0b1ef6e4b68a781d0092f21e6e2/merged
- 因為我擴充改root,檔案系統是ext4,所以會用
resize2fs指令,對應到前面擴充的分割區xvda1,就會使用resize2fs /dev/xvda1. 
Brief summary
各家申請硬碟方式不一樣,但是 linux command 是可以共用的!
