十月 13, 2018 | 伺服器和Devops
【伺服器】如何在Linode上面增加Volume與調整Volume大小
最近由於將部分伺服器整理到Linode上面,由於檔案眾多,所以使用Volume當作主要放資料的硬碟,在處理的時候,遇到了一些問題,因此在這裡筆記下來,讓自己與一些有需要的朋友們,未來有個參考依據,而不會一直繞路。
前言
最近由於將部分伺服器整理到Linode上面,由於檔案眾多,所以使用Volume當作主要放資料的硬碟,在處理的時候,遇到了一些問題,因此在這裡筆記下來,讓自己與一些有需要的朋友們,未來有個參考依據,而不會一直繞路。
新增Volume並且Mount到伺服器上
個人覺得Mount的部分,Linode寫的蠻清楚的,照著介面操作,很容意就可以完成相關的設定。使用Volume好處主要是在於硬碟的大小控制。就像是你有一台電腦,但是資料都放在外加的硬碟裡,而這個硬碟有人會幫你備份好,確保他不會突然不見。
而硬碟可以Mount到任何一台主機上面,對於現在我們都是用docker來處理環境跟伺服器的人來說,真的是再好不過了。
建立Volume
從Linode的UI就可以直接選擇,特別注意Location,一定要選擇跟你的伺服器同一個地區,要不然傳輸的速度真的會慢的嚇死人
Mount磁區到伺服器內
以下這一段,照者Linode的步驟走即可。
# To get started with a new volume, you'll want to create a filesystem on it:
$ mkfs.ext4 /dev/disk/by-id/yourCustomLinodeVolumeID
#Once the volume has a filesystem, you can create a mountpoint for it:
$ mkdir /mnt/folder
#Then you can mount the new volume:
mount /dev/disk/by-id/yourCustomLinodeVolumeID /mnt/folder
#If you want the volume to automatically mount every time your Linode boots, you'll want to add a line like the following to your /etc/fstab file:
/dev/disk/by-id/yourCustomLinodeVolumeID /mnt/folder ext4 defaults,noatime 0 2
都完成上述步驟後,可以通過以下指令,就可以看到你加入的Volume已經出現囉
# 查看所有磁區大小與使用狀況
$ df -h
調整大小 Resize Volume
雖然官方文件寫直接使用resize2fs即可,但我每次都被要求要先使用e2fsck,兩個指令輪流打入是沒有問題的
step1:umount磁區
$ umount /dev/disk/by-id/scsi-0Linode_Volume_Disk69 /mnt/folder
step2:檢查及修復檔案系統指令
$ e2fsck -f /dev/disk/by-id/scsi-0Linode_Volume_Disk69
step3:調整磁區Volume的大小
$ resize2fs /dev/disk/by-id/scsi-0Linode_Volume_Disk69
step4:重新mount回磁區
$ mount /dev/disk/by-id/scsi-0Linode_Volume_Disk69 /mnt/folder
上述步驟完成,則可以順利將原始的磁區Volume進行Resize囉。
備註: Volume的大小調整
Linode的官方有提到,Volume的大小限制是只可以往上增加,不能往下。而你在設定Volume大小的時候,系統是不會跳出一個提醒視窗,問你是否確定,只要真的按下了以後,Size就上去了,而且不能往下降。操作的時候請務必小心。
無法umount,出現Device Busy該怎麼辦
安裝psmisc套件
$ sudo apt-get install psmisc -y
使用fuser套件,找出正在影響這個資料夾的程式
## 使用指令找出程序
$ fuser -m /mnt/folder
## output
/mnt/folder: 1982c
將程序移除
$ kill -9 1982
註冊Linode
若你也想要使用Linode來進行跟我們一樣的動作,可以通過註冊連結來進行註冊。 每個月最便宜的伺服器也只有5美金,是很便宜的投資。