剛在 Facebook 上看到的,沒想到 YouTuBe 已經可以這樣玩了!我覺得影片拍得不錯,有些配樂也很耳熟,整體感還挺不賴的。
腦中突然一閃,前陣子恰好把圖片和影片串接當成一個練習 MapReduce 架構的題目,若真的無聊的話,或許可以把所有片段抓下來串接成所有故事劇情 XD 有興趣的還是從投完一遍吧,網路上已經有不少攻略,因為常常選錯看不到最後一幕囉,在此擺在煞風景的結局。其他的倒是隨著故事可以看到許多香港風景,挺不錯的。
Nami 結局
國企匡結局
剛在 Facebook 上看到的,沒想到 YouTuBe 已經可以這樣玩了!我覺得影片拍得不錯,有些配樂也很耳熟,整體感還挺不賴的。
腦中突然一閃,前陣子恰好把圖片和影片串接當成一個練習 MapReduce 架構的題目,若真的無聊的話,或許可以把所有片段抓下來串接成所有故事劇情 XD 有興趣的還是從投完一遍吧,網路上已經有不少攻略,因為常常選錯看不到最後一幕囉,在此擺在煞風景的結局。其他的倒是隨著故事可以看到許多香港風景,挺不錯的。
Nami 結局
國企匡結局
前陣子開始用 VirtualBox ,因為上次抓的 VMWare Server 版無法在 Windows 7 x64 安裝,是連安裝檔都無法正常執行,所以,就開始嘗試 VirtualBox 啦。
我覺得它小而巧,我挺喜歡整個都包在一個檔,可以很方便地搬動。但有一點我一直很不解,為什麼我把虛擬機器設成 NAT 時,它的確可以透過我本機電腦的網路服務連出去,但本機電腦卻連不進虛擬機器,我對這點很疑惑。這樣的 NAT 服務有點怪,跟我在 VMWare 上的使用或是在 FreeBSD 上架設 NAT 的服務有所差別,之後我就一直沒再理他,直到最近工作的事靠一段落後,又再次看到這篇文章 營造 Linux 學習環境的好用工具 VirtualBox !第二次看到時,我終於想通該怎樣搞了。
那就是為虛擬機器加網卡,第一張是 Network Address Translation ,第二張是 Host-only networking ,如此一來,第一張網卡提供 NAT 服務,讓虛擬機器可以與連出去外面,而第二張網卡使用"僅限主機",將使得本機端電腦可以連到虛擬機器。
測試的成果很順利,NAT 那張網卡取得的是 10.x.x.x 開頭的 IP ,而 Host-only networking 那張則是 192.168.x.x 的 IP
這週發現,原先在 Amazon EC2 上,從 Quick Start 開啟的機器,有一些不一樣了。開啟的機器無論 Linux 或 Windows 系統,它們的一開始只被分配小量的硬碟空間,如 15GB 等,跟之前不太一樣,上周開 Linux 機器時,至少提供 140 GB 的暫存空間。而以前用 Bundle 建立的系統依舊還可以透過原先開機器的方式進行。
幾天前,我還以為 Create Image (EBS AMI) 跟 Bundle Instance (S3 AMI) 是相同的服務,直到今天中午才發現是不一樣的,雖然它們有共同的功能,那就是備份系統,但整個過程是不一樣的。主要是現在從 Quick Start 開啟的新機器,它們的系統碟已經換成 EBS Volume 了,簡單的說,建立一台機器時,會自動在 Volume 區建立一顆硬碟並且使用它。目前我還沒搞清楚計費的差別,畢竟現在這種新的方式,多用了一個 EBS Volume 服務,感覺會多收費 :P 而使用舊有的 AMI ,在建立機器時,其 root device 是 instance-store 的型式,只有 EBS 型式的才能使用 Create Image (EBS AMI) 的方式備份喔。而流程上是將系統碟製作 snapshot ,如此一來,新開機器的系統碟就是透過 snapshot 來複製出來,以此達成開啟新機器的動作。
回歸主題,關於 Create an EBS Image 的備份方式,無論 Windows 或 Linux 系統都是一樣的,可以完全在 AWS Management Console 這 Web UI 上完成操作,不需像 Bundle 時還要下下指令,以及準備相關的 Key 等等。在此以 Windows 機器當作範例,特別留意的,在製作 EBS AMI 時,系統會有重開機的現象,跟 Bundle Image 是不一樣的,Bundle 時並沒有重開機。在製作 Windows EBS AMI 時,別忘了記住或修改 Admin Password,這幾天我測試的結果,透過建立的 AMI 來開機器時,無法用 Private Key 來取得管理者密碼,而 Linux EBS AMI 倒還可以用 Private Key 進行登入。
以下是對 Windows 系統的操作
使用 Create Image (EBS AMI) 備份系統是很方便的,只需要在 AWS Management Console 操作就行了
接著只需打打名字
等待一會就會蹦出此訊息囉。
最後在 AMIs 就可以看到製作好的 AMI 囉!
既然寫了 Amazon EC2 使用教學 - 以 EBS Volumes & Snapshots 增加和管理永久的硬碟空間 備份資料的方式,接著就要介紹一下備份系統。
EC2 機器關機後,除了資料不會儲存外,對系統的更動也不會保留,因此,辛苦設定好的系統環境必須要有備份的機制,這就是 Bundle 的服務。這個服務能夠讓你先專心設定一台機器,接著安置好環境後,可以在用 Create Instance 的方式,一次建立多台機器,有點類似以前用 Norton Ghost 安裝大量機器的概念(主要建立在硬體規格一樣),另外,Clonezilla 再生龍 是免費的軟體,也可以負責這類服務 。
在此以 Linux 機器作為範例,而 Windows 部分據說可以透過 Web UI 的 Bundle Instance (S3 AMI) 製作,但這部分我沒試。另外,一樣可以用指令來備份,有需要在參考這篇 Windows > Bundling an AMI 。
EC2 Linux 機器
備份 Linux 系統需要使用 EC2 提供的 tools ,過程較為繁瑣。在 EC2 上的 Linux 要備份系統前,必須先準備一下 Amazon Web Services > Your Account > Security Credentials > X.509 Certificate ,這個用在使用 ec2 tools 要做認證用的,類似確認使用者的身份,需要有 cert-*.pem 跟 pk-*.pem 兩個檔案囉,若真的忘記只好再去申請一組啦,我操作的機器: Getting Started on Fedora Core 8 (AMI Id: ami-3c47a355) - Minimal Fedora Core 8, 32-bit architecture, Apache 2.0, and Amazon EC2 AMI Tools ,更多詳細資訊請參考 Linux and UNIX > Bundling an AMI 。
接著,把這 cert-*.pem 跟 pk-*.pem 從本機端複製到 EC2 上要備份系統的 Linux 機器,而此台機器假設是使用 demo.pem 作為認證的,
My Desktop $ scp -i /path/demo.pem /path/cert-*.pem /path/pk-*.pem root@ec2-##-##-##-##.compute-1.amazonaws.com:/mnt
登入 EC2 要備份的 Linux 機器
My Desktop $ ssh -i /path/demo.pem root@ec2-##-##-##-##.compute-1.amazonaws.com
進行系統備份,需留意 -u 接的是一組數字組成的 AWS ID 可以在 AWS > Your Account > Security Credentials 查看或是在 AWS Management Console 挑一台機器看 Owner 也行,而 -r 接的是系統的資訊 32-bit ,此過程需要一些時間
EC2 $ cd /mnt
EC2 $ ec2-bundle-vol -d /mnt -k /mnt/pk-*.pem -c /mnt/cert-*-.pem -u ############ -r i386
........
接著將備份好的系統上傳至 S3,其中 -b 接得就是你要擺在 s3 的那個目錄裡,若該目錄不存在則會自動建立,而 -a 跟 -s 分是認證使用者的 Access Key ID 和 Secret Access Key
,可以在 Amazon Web Services > Your Account > Security Credentials > Access Keys 查到。
EC2 $ ec2-upload-bundle -b your-s3-bucket -m /mnt/image.manifest.xml -a **** -s ****
最後,則是註冊這個備份系統,有兩種方式可以作,一種是一樣透過 EC2 tools 中的 ec2-register ,另一種則是在 AWS Management Console > AMIs > Register New AMI 上註冊。使用 EC2 tools 則需要在自己的機器上安裝 EC2 tools ,並且要有 JAVA 運作環境,因此,用 AWS Management Console 可以省下很多事囉。
使用 ec2-register
My Desktop $ ec2-register -K /path/pk-*.pem -C /path/cert-*.pem your-s3-bucket/image.manifest.xml
使用 AWS Management Console
備份完系統後,使用上就在 AWS Management Console > Instance > Launch Instance 時,可以切換到 My AMIs 上,就可以看到自己備份好的系統,剩下的流程就像建立新機器一樣。
相關問題
Amazon EC2 可以很方便地叫幾台電腦出來,然而每一台關機後資料是不會留下來的,如其名,機器只在來計算為主。目前我用便宜的機器大概有 140 GB 的空間可用,大部分的應用都很充足,但為了能夠把實驗資料留下,就必須使用 EBS(ELASTIC BLOCK STORE)服務,其中 Volumes 用來增加儲存空間,而 Snapshots 能對Volumes 進行硬碟備份。
在使用 EBS Volumes 服務前,需要留意自己開的機器所在的區域,因為增加的硬碟要跟機器在同一區才行。以下則簡單列出 Linux 與 Windows 上掛載新硬碟的過程。
其中左上角是在新增機器可以選擇的區域,區域位置主要是網路回應可量,當然各區域的計費也是不同的,這些都需留意。右下角則是在 Instance 查看某一台機器所在的區域位置。接著切換到 Volumes 頁面,則可按下 Create Volume 新增一顆硬碟,這時就會問你硬碟要建在那個區域,而 Snapshot 先不用選,這是用在類似複製某顆硬碟出來用的。
Windows 新增硬蝶
在還沒安裝硬碟之前,Windows 機器上只會有 C 槽 ,從下面可以更快速查看 Disk 狀態(只有30GB)
[Start]->[Administrative Tools]->[Computer Management]->[Storage]->[Disk Management]
接著,畫面切回 AWS Management Console 頁面,可以在左邊 ELASTIC BLOCK STORE 之 Volumes 上選擇哪顆硬碟來加到機器上(Attach Volume),其中 Instances 就是要選你要加的機器代號,可以回 Instances 頁面查詢,這邊也會列出所在位置讓你配對,而 Device 我是輸入 1 ,之前很直覺地試 D ,想說當作 D 槽,則是會出錯。
當你一按下 Attach 後,不一會兒就可以在 Windows 上看到硬碟加入的樣貌,並且可以按右鍵來進行處理,Windows 有操作精靈帶你走,如格式化硬碟等,很方便的。
不一會兒的功夫,硬碟加好囉。
以上就完成加入硬碟的過程。
Linux 新增硬碟
增加硬碟的過程跟 Windows 差不多,但在 Attach Volume 時,Device 代號可以用選單選的,此例為 /dev/sdf ,而被加到機器的硬碟會呈現 in-use 的狀態,這跟 Windows 都一樣,只是我忘了補上 Windows 操作的圖。
但接下來,就沒有 Windows 操作的輕鬆,當然也可能是因為我沒使用 X-Window 的關係,首先使用 Terminal 登入機器,我用 PuTTY 登入,並且用以下指令查詢新加入的硬碟狀態
# ls -l /dev/sdf
# fdisk -l /dev/sdf
接著可以使用 fdisk 來建 partition table ,此例是全部分配
# fdisk /dev/sdf
接著格式化
# mkfs.ext3 /dev/sdf1
最後就掛載到 /data 囉
最後,講講 Snapshot 的部份,它是一個可以用來複製或備份硬碟服務,當我們在 Volume 增加硬碟後,如果某顆硬碟以儲存的資料想要分享到其他台機器時,這時就可以使用 Snapshot 服務,製作一個 Snapspot ,爾後在新增硬碟時(Create Volume),可以以某個 Snapshot 製作出來,以下是簡單的製作流程以及新增 Volume 時採用 Snapshot 的設定。
選取某顆硬碟製作 Snapshot ,此例使用 demo 這個名字。
過一陣子後,則可以在 Snapshots 頁面看到製作好的資訊。
另外,還可以設定這個 Snapshot 的存取權限,例如分享給大家用。
最後,回到 Volumes 頁面,新增 Volume 時,就可以挑選 Snapshot 啦,它就會以指定的 Snapshot 內容弄出一顆硬碟囉