發表文章

目前顯示的是 1月, 2016的文章

如何建立一個Ceph RADOS simple block device?

圖片
前言 如果你想透過Ceph RBD(block device service client)來建立一個simple block device來使用,你可以按照這篇文章的步驟來實作。 下列的例子會建立一個名稱為vpool01的pool,並且在這個pool上建立一個4GB的image(vdisk01)來使用。然後在Client端在使用RBD來map這個image,建立一個block device,直接這個4GB的空間。 步驟 1. 在Admin Node上,建立一個新的pool ~$ ceph osd pool create vpool01 256 256 2. 在Admin Node上,建立一個大小為4GB的simple block device image ~$ rbd create vpool01/vdisk01 --size 4096 確認一下,剛剛建立的device image是否有成功 ~$ rbd list vpool01 ~$ rbd info vpool01/vdisk01 3. 使用ceph-deploy安裝Client ~$ ceph-deploy new {client node} ~$ ceph-deploy admin {client node} Client節點為使用block device的主機,透過ceph-deploy安裝RBD與相關的驅動程式與kernel module。這邊的Client是一台Ubuntu Linux主機。 4. 在Client Node上,確認simple block device image狀態 ~$ rbd info vpool01/vdisk01 成功安裝完成的Client節點,可以透過rbd指令來查詢Image的資訊,由圖中可以確認該大小為4GB。 5. 修改/etc/ceph/rbdmap設定檔 將預使用的image加入到rbdmap這個設定檔中。 vpool01/vdisk01 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring 6. 將image map到一個block device透過rbd kernel

如何快速安裝Ceph的物件式儲存服務?

圖片
前言 這篇文章主要依據文件[1],來介紹如何安裝Ceph的物件式儲存服務。如果原官方文件有修改,請以官方文件為準。實際安裝的Linus版本為Ubuntu 14.04。 進一步了解Ceph可以參考另一篇文章, 了解Ceph的儲存服務 。 安裝步驟 使用ceph-deploy這個工具來快速架設。這邊的範例,一共有四個節點分別為,管理節點adm、監控節點mon, 還有兩個OSD節點,osd0, osd1。 安裝程序由管理節點(adm node)開始進行。 1. 建立ceph-deploy在管理節點上 系統安裝的第一步,先建置管理節點(adm node),這個節點主要負責管理與建置其他節點使用。ceph-depoly這個工具就是安裝在此節點上。 a. 加入ceph的金鑰 wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - 加入ceph下載的金鑰,使系統可以取得目前的套件。 b. 將ceph packages下載到系統的repository上 echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list 將{ceph-stable-release}改成你要安裝的版本代號,例如,你要安裝0.9版本,就改成inferanalis c. 更新你系統的repository並且安裝ceph-deploy: sudo apt-get update && sudo apt-get install ceph-deploy 2. 安裝NTP服務 完成ceph-deply的安裝後,接著就是安裝NTP Server來提供各節點時間校正。 安裝NTP在admin node上 sudo apt-get install ntp 3. 建立一個user用來安裝ceph,給ceph-deploy使用 a. 在每個ceph節點上建立一個user ssh user@c

如何在Ubuntu中不用密碼的SSH連線?

在Linux主機之間,如何啟用免密碼可以透過SSH連線進入主機(Enable password-less ssh connection)? 這個讓彼此信任的主機直接存取,無需要每次皆要輸入密碼。簡單說就是你可以透過SSH連到遠端的機器主機上,再登入的時候不用打密碼就可以直接連線登入主機。 設定步驟如下: 1. 產生SSH金鑰 先確認目前系統的使用者有沒有公私鑰(private/public key)。如果沒有公私鑰,得先產生用來存取其他主機的使用者的公私鑰,例如:本機端的使用者abay,要能夠存取其遠端主機,這時我們就必須先建立使用者abay的公私鑰,透過指令 ssh-keygen 來產生金鑰。 注意:在產生金鑰的時候,不要輸入密碼。 ssh-keygen Generating public/private key pair. Enter file in which to save the key (/ceph-admin/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/abay/.ssh/id_rsa. Your public key has been saved in /home/abay/.ssh/id_rsa.pub. 完成公私鑰的建立我們可以看到指令ssh-keygen已經將公鑰id_rsa.pub建立在/home/abay/.ssh下,私鑰id_rsa也在這個資料夾下。 2. 將金鑰複製到遠端的機器上 將剛剛產生好的金鑰傳送到預登入的機器上。下列例子透過指令 ssh-copy-id 將金鑰傳送到主機192.168.1.1上。 ssh-copy-id abay@192.168.1.1 如果你的電腦上沒有ssh-copy-id這個指令,你可以直接開啟使用者的公鑰/home/abay/.ssh/id_rsa.pub將內容複製,然後貼到對方機器的使用者/home/abay2/.ssh/ authorized_keys

如何設定使用者有sudo權限且不需要輸入密碼?

在Ubuntu的環境下如果需要將使用者的權限設定為可以sudo要如何作呢? 只需要執行下列指令,來進行設定即可: 產生sudo的設定檔: echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username} 例如要修改使用者abay echo "abay ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/abay 修改設定檔的權限: sudo chmod 0440 /etc/sudoers.d/{username} 完成上述指令該使用者即可使用sudo來切換使用者權限。 另外一個簡單的方式: 直接透過visudo指令編輯sudo設定檔就可以了。

如何安裝.NET Core在Ubuntu Linux上

圖片
期待已久個.NET Framework現在可以跨平台執行。這篇文章主要說明在Ubuntu平台上來安裝並且啟動.NET Framework,然後成功執行範例應用程式。 這邊安裝的.NET跟在Windows平台上使用的.NET Framework有些許的不同。主要是使用.NET Core,來實現.NET。.NET Core是一個依據ASP .NET 5來實作的跨平台的.NET。.NET Core包括CoreCLR的runtime還有CoreFX的framework函式庫。 步驟 按照官方網站[1]的說明只要四個步驟就可以簡單完成系統的安裝與設定。 第一步 增加一個apt-get的套件來源,與安裝一把金鑰。最後在更新一下套件資料庫。 sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 sudo apt-get update 第二步 安裝.NET Core,透過apt-get安裝整個dotnet與相關的套件。 sudo apt-get install dotnet 第三步 初始化要執行的應用程式。 dotnet new 第四步 執行應用程式。在執行dotnet run這個指令之前,你必須先執行dotnet restore這個指令,取得所需要的相關聯的dotnet套件,這邊的套件指的是程式所需要的函式庫,例如:System.Threading.Tasks, System.Text,Encoding等等,這個指令會自動下載所需要的套見到本地端。以我的環境為例,會將這些函式庫存放在/home/abay/.dnx/packages/ dotnet restore dotnet run 下列螢幕截圖為成功執行一個Console application,列印出"Hello