容量不夠了!
開發 app 好像會吃掉很多容量,模擬器影像有 7/8 個,SDK 又有幾個,加上我經常得下載手機的影像檔,更新呀什麼的這 Intel NUC 只有 128 G 跟本就不夠!

沒辦法只好有伺服器割點來用了 Orz

不過伺服器的 Logical Volume 好像會定時自動備份的…不是說備份不好啦,只是這些東西好像沒什麼備份的必要,影像檔什麼的重新下載就好。可是重新下載好花時間,但放到伺服器上面其實算是上載下載啊,只不過快一點而已,我必須衡量一下檔案的重要性而決要是不是要送上去?

想那麼多沒什麼用,根本的問題是我的開發機沒有容量而這一點必須解決!再者我也沒什麼其它儲存地點的選擇吧,唉…

那麼來看看伺服器狀態吧:
# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  Buffer    1   0   0 wz--n- 465.76g 465.76g
  GuestVM   2  15   0 wz--n-   1.73t 964.10g
Buffer 是沒辦法用的了,伺服器還有 964G 的空間。好像很多,可是這個是 LV ,所以會被自動備份的容量限制著, LV 備份可以有幾個或以上啊。

那麼來看看,備份 ( NFS )的容量剩多少:
# df -ah
Filesystem                Size  Used Avail Use% Mounted on
<REDACTED>:/nfs/backups  1.8T  1.3T  523G  72% /mnt/rbackup
只剩523G了,當然我不會有多少割多少啦。只要能釋出開發機一點空間來就足夠了。

現在看看開發機剩多少容量:
$ df -ah
Filesystem       Size  Used Avail Use% Mounted on
C:/cygwin64      120G  106G   14G  89% /
正常來說好像必須留 10% 給系統幹些什麼來著,所以必須想辦法釋出 20G 的空間呢…因為我還要裝 illustrator 跟 photoshop 呀…

所以割 32G 出來應該夠了?說起來我之前寫的那個備份工具好像有指定目幾個 volume 的?
## Backup
# Every half year, everything
0 0 1 Jan,Jul * <REDACTED>

# every month
0 0 1 Feb-May,Aug-Dec * <REDACTED>

# every week
0 0 * * Mon <REDACTED>

# every half month
0 0 1,15 Feb-May,Aug-Dec * <REDACTED>
0 0 15 Jan,Jul * <REDACTED>
0 0 1,15 * * <REDACTED>

# everyday, dbsrv, file buffer
0 0 * * * <REDACTED>
看來是每半年一次備份所有 LV 呢,好像還有一個簡單的清理程序來著:
#!/bin/bash
IFS=$'\n';
DIR=<REDACTED>

function cleanup {
    NAME=$1
    KEEP=$2

    j=-1
    k=0
    for i in $( ls -t $DIR$NAME ); do
        j=$(( j + 1 ))
        [ $j -lt $KEEP ] && continue
        rm -f "$DIR$NAME/$i"
        k=$(( k + 1 ))
    done
    if [ $k -ne 0 ]; then
        logger -p local6.notice -t SCAV "Removed $k old backup(s) for $NAME"
    fi
}

cleanup <REDACTED>
cleanup <REDACTED>
.
.
.
對了,只要清理不就好了?備份就只留一個吧。那麼來割了:
lvcreate -L 32G -n lv14-penguin GuestVM
  Logical volume "lv14-penguin" created

# 清理上面加一行
cleanup bak-lv14-penguin 1
備份不設定就會每半年備份一次吧,這個周期足夠了。
再將這個分區分配到檔案伺服器裏面:
# virsh
virsh # attach-disk filesrv /dev/GuestVM/lv14-penguin vdp --live --config
Disk attached successfully

virsh #
在檔案伺服器裏驗證一下:
$ ssh FileServer
root@Astrofile:/home/penguin# fdisk -l | grep /dev/vd
Disk /dev/vde doesn't contain a valid partition table
Disk /dev/vda: 34.4 GB, 34359738368 bytes
/dev/vda1   *        2048    64286719    32142336   83  Linux
/dev/vda2        64288766    67106815     1409025    5  Extended
/dev/vda5        64288768    67106815     1409024   82  Linux swap / Solaris
Disk /dev/vdb: 85.9 GB, 85899345920 bytes
/dev/vdb1            2048   167772159    83885056   83  Linux
Disk /dev/vdc: 1073 MB, 1073741824 bytes
/dev/vdc1              32     2097151     1048560   83  Linux
Disk /dev/vdd: 429.5 GB, 429496729600 bytes
/dev/vdd1            2048   838860799   419429376   83  Linux
Disk /dev/vde: 34.4 GB, 34359738368 bytes
vde 沒有分區,那肯定是 vde 沒錯了。
創分區跟格式化:
# fdisk /dev/vde

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-67108863, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-67108863, default 67108863):
Using default value 67108863

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

# mkfs.ext4 /dev/vde1
mke2fs 1.42.5 (29-Jul-2012)
...
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
接下來就是放到 samba 上面啦,不和因為主目錄已經在 samba 上了,所以不必再設定。只要將分區 mount 到的我資料夾就好。

這樣就暫時可以輕鬆一點了吧?

Tag(s): lvm notes
Profile picture
斟酌 鵬兄
Tue Dec 22 2015 11:35:28 GMT+0000 (Coordinated Universal Time)
Last modified: Tue Dec 22 2015 11:36:30 GMT+0000 (Coordinated Universal Time)
Comments
No comments here.
Do you even comment?
website: 
Not a valid website
Invalid email format
Please enter your email
*Name: 
Please enter a name
Submit
抱歉,Google Recaptcha 服務被牆掉了,所以不能回覆了