bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

Entries for the ‘MIS’ Category

docker: invalid restart policy unless-stopped.

在執行 docker run 啟動容器有使用到 –restart=unless-stopped 參數,結果得到 docker: invalid restart policy unless-stopped. 的錯誤訊息。

請先用 docker version 確認版本,因為 unless stopped restart policy 是到 1.9.0 版才新加入。舊版 docker 環境可以改回用 always policy 繞過問題。

Leave a Comment

‘vagrant up’ fails to mount linked directory /vagrant

在 vagrant 啟動 CentOS 6 的 VM 時,忽然出現了無法掛載 /vagrant 目錄的錯誤訊息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'chef/centos-6.6' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 80 => 8080 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/bestlong/projects/vagrant_vms/chef-centos-66
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=<code>id -u vagrant

,gid=

1
getent group vagrant | cut -d: -f3

vagrant /vagrant
mount -t vboxsf -o uid=

1
id -u vagrant

,gid=

1
id -g vagrant

vagrant /vagrant

The error output from the last command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

這是因為在 Guest os 環境內有執行系統更新,因為更新的範圍有包含到 kernal 的部分,所以造成 VirtualBox 的系統工具程式就出問題了。

這時只需要重新安裝一次 VirtualBox Guest Additions kernel modules 應該就可以解決,首先要確認相關的套件都有安裝免得編譯失敗,請執行下列指令:

1
2
[root@localhost ~]# yum update -y
[root@localhost ~]# yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) dkms -y

再來就是安裝 VirtualBox Guest Additions kernel modules

1
2
3
4
5
6
7
[root@localhost ~]# /etc/init.d/vboxadd setup
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules     [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]
[root@localhost ~]#

再來就可以重新啟動 Guest OS 確認啟動過程,應該就可以正常掛載 /vagrant 目錄了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ vagrant reload
==> default: Attempting graceful shutdown of VM...
==> default: Checking if box 'chef/centos-6.6' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 80 => 8080 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/bestlong/projects/vagrant_vms/chef-centos-66
==> default: Machine already provisioned. Run <code>vagrant provision

or use the

1
--provision

==> default: to force provisioning. Provisioners marked to run always will still run.

參考資料

https://github.com/mitchellh/vagrant/issues/1657

Leave a Comment

主機搬家到 VPS (DigitalOcean)

隨著地球越來越熱,而常年來放在家中的 Linux 主機不斷的熱力四射,總和攻擊能量已經累積到令人無法忽視的地步,開冷氣進行反攻可是會影響口袋的深度。

換新的電腦應該可以改善,但硬體成本起碼要數千元還要再加上 24H 不關機的每月電費起碼 NTD 三百起跳,再說有實體機器還是會有熱度,想一想還是決定租主機吧。因為在此主機上跑很多種系統與服務,所以需要找 VPS 才能擁有完整的管理權。

網路上很多專業部落客都建議使用 Linode 每月 $10 USD 起價。如果想要更低價的話還有另一個不錯的選擇就是 DigitalOcean 每月 $5 USD 起價,不過相對的規格就會小一些。實際的差異請參考官網,兩家都可以用小時計費。

因為是小站,所以就衝著 512MB RAM / 20GB SSD 每個月只要 5 USD 這麼便宜的特色,就先來用看看。可惜的是 DigitalOcean 沒提供試用時間,但是可以在網路上找一下優惠碼取得一定的使用金額來補償一下,要注意的是一個賬戶只有使用一次優惠碼的機會,我只有找到 10 美金的,所以各位就想辦法找到金額最高的就是了。

申請帳戶基本上就是完成註冊驗證流程提供身份資料與設定付款方式,付款可以用信用卡與 Paypal 兩種,不過有一個重點就是因為 DigitalOcean 目前的服務條款是不退款的,所以用 Paypal 預付時請注意一下。

再來就是要新增虛擬主機了,在 DigitalOcean 稱為 Droplet (水滴) 應該是與公司名稱相關,因為大海是由水滴所累積而成的,可見其雄心壯志。

建立新主機可依下列圖示依序操作,點擊 Create 後輸入主機名稱然後選擇虛擬主機規格

digitalocean - create droplet part 1

然後選擇要放在哪個機房

digitalocean - create droplet part 2

接著就是選擇要安裝何種系統,也可以選擇套裝系統安裝,或從備份擋來還原成新主機

digitalocean - create droplet part 3

digitalocean - create droplet part 4

最後就是點選 Create Droplet 然後系統就會開始依選擇的條件開始建立虛擬主機

digitalocean - create droplet part 5

整個建立過程不到 5 分鐘,完成後系統會寄 mail 通知告知新主機的 ip 位址與 root 密碼,透過 ssh 連線首次登入就是修改密碼。

可以先嘗試一下重開機感受一下令很多人驚訝的速度,大概就 5 秒內就可以再次登入了,真的非常的快。

自己的 VPS 主機是選擇新加坡機房與 DigitalOcean 特調的 Ubuntu 14.04 x64 作業系統版本,剛開始只移轉 blog 過去,也碰到一些狀況,例如:網站會忽然無法連線,用 ssh 登入回應超級慢…等問題,都一一排除之後又陸續移轉其他服務,至今已上線快兩個月算是調整到可以穩定運作了,網頁回應的速度也比以往更順暢,也不必擔心停電或設備老舊故障等瑣碎事項,也算是資訊委外一種模式。

如果各位也想試用的話可以透過我的推薦連結去申請,可以讓我有機會加減省一些費用。

Leave a Comment

NAS DS213+ 硬碟容量升級之簡單紀錄

去年購買 Synology DiskStation DS213+ 來改善家裡的備份架構。
當時是先用手邊兩顆 80G 舊硬碟做 SHR (Synology Hybrid RAID) 上線後開始研究測試。
稍微熟悉功能之後就實際進行更換到兩顆 500G 容量成功後正式上線,可惜當時沒有留下紀錄。

數月前因故障了一顆 500G 時就盡速更換一顆 2T 的新硬碟變成 500G vs 2T 的狀況,也是趕著處理沒想到留下紀錄。
因為有啟用資源回收桶功能,隨著檔案的持續增刪改,已經變成每日要手動排除空間不足的麻煩狀況。
決定將 500G 也更換到 2T 讓容量完整擴充與使用。

過程很簡單,因為 DS213+ 支援熱拔插,所以就在不關機狀態下直接把 500G 硬碟抽出換上 2T 硬碟後裝回。

接著在網頁用 admin 登入 DSM 系統,開啟儲存空間管理員
在 [硬碟管理] 頁籤內應該可以看到兩顆 2T 硬碟
然後進入 [儲存空間] 頁籤點選 儲存空間1 > 管理 > 修復
接著就是漫長的等待了。

2013-08-04 00_20_52-Synology DiskStation - ds213p

整個過程所用的時間可以參考上方圖內的日誌資訊。從裝入 2T 硬碟開始到完成共花了約 12 小時。這段期間都沒有對 NAS 做檔案存取,只有開著網頁看進度與系統負載(如下圖)。

2013-08-03 17_13_46-Synology DiskStation - ds213p

不過,有一點我覺得很奇怪的就是,在圖片中可以看到 CPU 與 RAM 的使用量都很低,好像對加速硬碟同步都幫不上忙的樣子。

等同步完成後才想到應該要去觀察較詳細的資源監控功能,裡面才有磁碟讀寫的數據,殘念。

Leave a Comment

ESB(Enterprise Service Bus,企業服務匯流排)

ESB(Enterprise Service Bus,企業服務匯流排)是一種企業應用程式的中間層軟體,用來整合應用,或交換訊息。

UltraESB http://www.adroitlogic.org/
JBossESB http://www.jboss.org/jbossesb/
Mule ESB http://www.mulesoft.org/

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期迴響

  • 標籤

  • 彙整