星期一, 2月 23, 2015

Ezilla - 利用 iso 建立 Template

Ezilla - 利用 iso 建立 Template

將 openSUSE-13.1-DVD-x86_64.iso 複製到 /tmp 下

oneadmin@ezilla-ceph:~$ ls  /tmp
openSUSE-13.1-DVD-x86_64.iso  slave_config

登入 Ezilla 網頁介面, 以 oneadmin 身份

建立磁碟影像檔
(使用CDROM格式來存放原始OS  Image)
(虛擬化資源 → 磁碟影像檔)
  1. 名稱: openSUSE13.1_ISO
  2. 種類: CDROM
  3. 資料存放區: 1: default
  4. 存續性: 否
  5. 進階設定
    1. 裝置名稱字首: hd
    2. 影像檔驅動程式: raw



2014-11-20 19:03:27 的螢幕擷圖.png


點選 建立

等待上傳並重新整理直到出現 READY

2014-11-20 19:07:56 的螢幕擷圖.png


建立空白資料存放區 (利用此空間用來安裝OS)

(虛擬化資源 → 磁碟影像檔)

  1. 名稱: openSUSE13.1_install
  2. 種類: DATABLOCK
  3. 資料存放區: 1: default
  4. 存續性: 是 ( 勾選 )
  5. 磁碟影像檔位置
    1. 空白資料區域
    2. 大小: 40000     (單位是MB)
    3. 檔案系統種類: raw
  6. 進階設定
    1. 裝置名稱字首: vd
    2. 影像檔驅動程式: raw

2014-11-20 19:13:38 的螢幕擷圖.png

點選 建立

等待上傳並重新整理直到出現 READY

可以使用 oneimage 指令查詢
oneadmin@ezilla-ceph:~$ oneimage list
 ID USER       GROUP      NAME            DATASTORE     SIZE TYPE PER STAT RVMS
  0 oneadmin   oneadmin   openSUSE13.1_IS default       4.3G CD    No rdy     0
  1 oneadmin   oneadmin   openSUSE13.1_in default      39.1G DB   Yes rdy     0



Lab: 建立範本

(虛擬化資源 → 範本)

點選新增按鈕

2014-10-13 11:24:56 的螢幕擷圖.png

輸入範本名稱
設定 CPU & MEM 的數量

2014-11-20 19:21:15 的螢幕擷圖.png



設定「儲存」
  1. 點選 DATABLOCK 的影像檔 (這個時候datablock 的影像檔已經被我們選取, 接下來我們要新增另外一個影像檔)
  2. 點選 新增磁碟 (點選CDROM的影像檔, 這樣兩個都選取了, 可以點選左邊的兩個磁碟檢查是否點選正確)

2014-11-20 19:26:47 的螢幕擷圖.png






設定「網路」
  1. 選擇「Private IP」
  2. 進階選項:
    1. Model: virtio

2014-11-20 19:28:45 的螢幕擷圖.png


設定「OS Booting」
  1. 處理器架構: x86_64
  2. 開機: CDROM

2014-10-13 11:35:53 的螢幕擷圖.png


設定「Input / Output」
圖形顯示介面: VNC
輸入介面: Tablet / USB 記得要點選 新增

2014-11-20 19:30:53 的螢幕擷圖.png

設定「Context」
若使用者提供SSH KEY即可免帳/密可登入

當CEPH 資料存放區無法掛載CDROM 資料格式時,
請「取消」 「建立SSH 自動化環境配置」 以及 「建立網路自動化環境配置」, 所以我們先取消勾選.

2014-11-20 19:35:15 的螢幕擷圖.png


設定「 Scheduling」
指定主機或是主機叢集:
這邊是使用指定主機的方式, 勾選要使用的主機

2014-11-20 19:36:30 的螢幕擷圖.png

設定「其他」
如果沒有其他的設定, 就可以點選 建立 來建立範本
2014-11-20 19:38:07 的螢幕擷圖.png


建立完成 可以看見建立好的範本

2014-11-20 19:39:39 的螢幕擷圖.png

可以嘗試用 onetemplate 來查詢
oneadmin@ezilla-ceph:~$ onetemplate list
 ID USER            GROUP           NAME                                REGTIME
  0 oneadmin        oneadmin        openSUSE_13.1_x86_64         11/20 19:41:59


開始進行作業系統安裝

勾選範本 --> 點選實例化

2014-11-20 19:42:08 的螢幕擷圖.png

輸入 VM 名稱
點選 實例化

2014-11-20 19:43:17 的螢幕擷圖.png


接下來等待開機

2014-11-20 19:44:39 的螢幕擷圖.png
2014-11-20 19:47:02 的螢幕擷圖.png
如果 VM 在運行中狀態就 點選 VNC/ SPICE 的圖示
開始準備安裝了

2014-11-20 19:49:13 的螢幕擷圖.png


安裝完成將機器重新開機.
因為會持續以光碟片開機, 無法以硬碟開機, 但是因為剛剛建立範本的時候有勾選存續性
所以可以將VM 刪除, 然後重新修改範本.

修改範本(使用 硬碟開機)
虛擬化資源 --> 範本
勾選剛剛的範本,  點選修改

2014-11-20 20:38:37 的螢幕擷圖.png

點選儲存, 將 openSUSE13.1_ISO 刪除
點選 openSUSE13.1_ISO 的磁碟旁邊的 x 按鈕
2014-11-20 20:39:38 的螢幕擷圖.png

點選 「OS Booting」,修改開機選項為「硬碟

CentOS-510-4



點選 Context
勾選回 「建立SSH 自動化環境配置」 以及 「建立網路自動化環境配置」
點選 修改



CentOS-510-3


勾選範本 --> 點選實例化

2014-11-20 20:42:38 的螢幕擷圖.png

2014-11-20 19:43:17 的螢幕擷圖.png


接下來等待開機
開完機之後, 接下來要安裝 context 套件

RPM: Compatible with CentOS and RHEL 6.x

Download and install the package for your distribution:
RPM: Compatible with CentOS and RHEL 6.x

各版本下載位置:

在VM內

於主機內下 rpm 指令安裝

#rpm  -ivh   one-context_4.6.0.rpm

/etc/one-context.d/99-excute-script



刪除 VM


修改影像檔
虛擬化資源 --> 磁碟影像檔

點選剛剛的磁碟影像檔

2014-11-20 20:56:18 的螢幕擷圖.png

把磁碟影像檔「種類」為從DATABLOCK改為「OS」。(點選編輯的圖示)

新增一個屬性( Attributes )
OSTYPE 值為 CENTOS , 點選 新增

2014-11-20 20:58:46 的螢幕擷圖.png

把磁碟影像檔「存續性」修改為「」。
如果確定磁碟影像檔的內容不須再進行變動,即可把存續性改為「否」。

2014-11-20 21:00:09 的螢幕擷圖.png

修改完成

點選
虛擬化資源 --> 虛擬機器
新增虛擬機器來測試
2014-11-20 21:01:49 的螢幕擷圖.png


2014-11-20 21:03:04 的螢幕擷圖.png

End Point 功能,適用於一般開啟的虛擬機器。

Note: 使用「實例化」開啟的虛擬機器不適用。

星期四, 1月 22, 2015

CNI online course - systemd 小記

systemd
Location:  /usr/lib/systemd/system/  and  /etc/systemd/system/

設定範例
# cat   /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH Daemon
After=network.target

[Service]
EnvironmentFile=/etc/sysconfig/ssh
ExecStartPre=/usr/sbin/sshd-gen-keys-start
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

systemctl   mask    <service>.service

  • mask 只要使用, 不可以手動啟動服務
  • unmask 取消mask

查詢的方式 ( 該服務會被導向到 /dev/null  )
# ls   -l   /etc/systemd/system | grep null

以類型來列出
# systemctl  -t  service

# systemctl  -t  service | grep ssh
sshd.service                       loaded active running OpenSSH Daemon

有些 target 可以跟 runlevel 對照
Target units group service and other units
Some target units are the equivalent to runlevels
  • multi-user.target - runlevel 3
  • graphical.target - runlevel 5

# systemctl  -t  target
UNIT                 LOAD   ACTIVE SUB    DESCRIPTION
basic.target         loaded active active Basic System
cryptsetup.target    loaded active active Encrypted Volumes
getty.target         loaded active active Login Prompts
graphical.target     loaded active active Graphical Interface

開機的時候可以在 linux 那一行指定 target 來暫時切換target ( runlevel )
例如原本是圖形界面, 開機要指定文字界面開機
systemd.unit=multi-user.target

開機以文字界面(runlevel 3) 開機, 但是如果想切換圖形界面
可以更改 target 來達成 ( 當然目前還可以用 init 切換 )
#systemctl  isolate  graphical.target

開機時間
# systemd-analyze
Startup finished in 2.739s (kernel) + 17.430s (userspace) = 20.170s

詳細的列出
# systemd-analyze  blame
        11.260s network.service
         8.133s network@ens160.service
         2.104s ModemManager.service
         2.050s SuSEfirewall2_init.service
         1.658s network@ens192.service
         1.522s rsyslog.service
          974ms vmtoolsd.service

SLES 12 跟 openSUSE 13.2 一樣用 systemd-logger 取代 syslog-ng
Systemd has an internal log daemon – journald

透過導向的方式存檔
journalctl  >  file.txt

systemd and cgroups
  • Each service is placed into a cgroup in  /sys/fs/cgroup/systemd/system.slice
  • systemd uses this directory to control services, not for resource control

See man systemd.resource­control for available options

檢查相關資訊
# systemd-cgls
Working Directory /sys/fs/cgroup/systemd/system.slice:
├─1 /sbin/init showopts
├─polkit.service
│ └─18657 /usr/lib/polkit-1/polkitd --no-debug
├─accounts-daemon.service
│ └─18652 /usr/lib/accounts-daemon
├─system-network.slice
│ ├─network@ens192.service
│ │ ├─1955 avahi-autoipd: [ens192] sleeping  
│ │ └─1956 avahi-autoipd: [ens192] callout dispatche
│ └─network@ens160.service
│   ├─1518 avahi-autoipd: [ens160] sleeping  
│   └─1519 avahi-autoipd: [ens160] callout dispatche

星期五, 1月 16, 2015

解決如果 Master 安裝時 ceph 主站不穩定沒有安裝 ceph 套件小記

解決如果 Master 安裝時 ceph 主站不穩定沒有安裝 ceph 套件小記

一般來說 ceph master 應該是在第一次點選 Setup Slave 的時候才進行 ceph 套件安裝.
但是如果安裝時的時候 ceph 的主要套件網站網路不穩定, 有可能會造成master沒有安裝 ceph的情況.

這個時候可以先觀察 相關的 shell script 有沒有安裝到master

$ls  /opt/ezilla/sbin/
ezilla-autoinstall-server          ezilla_diskless               ezilla-setup-nat.sh                ezilla-slave                        ezilla-slave-setup.sh
ezilla-ceph-install-setup-disk.sh  ezilla_diskver                ezilla-setup-network.sh            ezilla-slave-addhost.sh             ezilla-slave-ssh.sh
ezilla-ceph-install.sh             ezilla-drbl-patch.sh          ezilla-setup-one-user.sh           ezilla-slave-ceph-install.sh        ezilla-ssl-lighttpd.sh
ezilla-ceph-mount.sh               ezilla-filesystem-install.sh  ezilla-setup-opennebula-config.sh  ezilla-slave-filesystem-install.sh  mkdemo.sh
ezilla-ceph-patch.sh               ezilla-init                   ezilla-setup-opennebula-env.sh     ezilla-slave-generate-preseed.sh
ezilla-demo-modify-ip.sh           ezilla-libvirtd-patch.sh      ezilla-setup-opennebula-patch.sh   ezilla-slave-init.sh
ezilla-desktop.sh                  ezilla-pkg-install.sh         ezilla-setup-slave-netinstall.sh   ezilla-slave-network.sh

如果都有安裝到 master

接下來切換到 root 身份或是利用 sudo 去刪除  /opt/ezilla/.already_filesys_setup  ( 以此檔案是否存在進行判斷 )

# rm  /opt/ezilla/.already_filesys_setup

重新點選 Setup Slave 再進行 Slave 安裝, 就可以安裝 ceph 套件於 Master

^^


先記下來

星期六, 12月 27, 2014

VMware 從 datastore 匯入 OVF / OVA 檔案

這兩天在進行機器測試,
其中不知道是因為網路流量限制的關係, 還是 firewall 的關係( 目前待查 )
在匯入 OVF / OVA 來佈署的時候, 會有一些問題.
所以想法上就轉向先將 OVF / OVA 上傳到 datastore 然後再進行佈署( 排除網路的部份 )

但是不管是用 vSphere Client 或是 vSphere Web Client, 要準備佈署 OVF / OVA 的時候

都只有 從檔案或 URL 部署


爬了一些文章, 發現可藉由登入 VMware ESX Web-Based Datastore Browser 的方式取得 URL 來佈署

記得這個畫面嗎?
當點選 Browse datastores in this host's inventory 就是連到 Web-Based Datastore



或是使用  https://<hostname>/folder  來進行連接

連接之後會跳出驗證視窗



登入之後會看到主機的 datastore
作法很簡單, 就是在該 *.ova  *.ovf 上面按滑鼠右鍵,  複製捷徑


將這個 URL 位置填入 OVF 匯入來源




別擔心會要求驗證的, 不是任何人都可以存取的到.



接下來就按照一般的流程來匯入即可.


但是奇怪的是, 同樣的 URL

* Windows vSphere Client 匯入 --  成功
* Windows vSphere Web Client 匯入  --  失敗, 一直說OVF 無法存取
* Linux vSphere Web Client -- 裝了整合性外掛之後, 還是說你沒有裝 Orz.....


先記下來
^^


Reference:
http://ephrain.pixnet.net/blog/post/46208406-%5Bvmware%5D-%E5%BE%9E-datastore-%E4%B8%8A%E5%8C%AF%E5%85%A5-ova-%E6%AA%94%E6%A1%88
http://www.virtuallyghetto.com/2012/03/how-to-deploy-ovf-located-on-esxi.html


VMware vSphere Web Client with linux 中文亂碼小記

最近開始要管理 VMware vSphere 相關設備

一直以來在管理 vSphere 都是藉由 vSphere Client 來連結, 操作的方式也都習慣了.
但是由於VMware 5.5 之後有些功能慢慢都會移到 Web Client, 加上本身就是 Linux / Mac 使用者, 所以也讓自己慢慢習慣使用vSphere Web Client.

使用vSphere Web Client

  • 優點
    • 不一定要有 Windows 作業系統 + 安裝 vSphere Client 來管理 VMware vSphere
  • 缺點
    • 如果要佈署OVF 或是進行一些特定動作要下載安裝用戶端


    • 在 Linux 下的 Chome 瀏覽器中文介面是亂碼
以下的螢幕截圖
左邊是使用VMware Player 安裝Windows 7 使用瀏覽器開啟的狀況
右邊是在openSUSE 13.1  使用 google chrome 瀏覽器開啟的狀況

在網路上找到的文章都是將介面改成中文的文章
方法是在 vsphere-client 路徑後面加上 ?locale=語系 的方式
https://<hostname>:9443/vsphere-client/?locale=zh_CN

所以就用這樣的方式, 將語系換成英文, 解決亂碼的問題

https://<hostname>:9443/vsphere-client/?locale=en_EN



先記下來
^^


星期六, 12月 13, 2014

openSUSE 13.2 小記 - log 紀錄機制的改變

當很多事情慢慢改變的時候, 我們就要慢慢學習適應了

現在新的 OS 慢慢採用 systemd, 之前的想法是 ~ 就是開機方式改變啦, 所以也沒有特別去注意

直到今天我的硬碟有些狀況, console 吐出來一些訊息, 我要回頭去查 log 的時候, 才發現......真的要花時間學習啦 ^^

-- 是的 /var/log/messages 不見了
-- 因為 systemd-logger 取代我可愛的 syslog-ng

可以從這邊看到

https://news.opensuse.org/category/distribution/sneak-peeks/

journald

journald is replacing the old logging technologies in openSUSE (at least for most common cases). The two most important commands you need to know:
  • journalctl – the old “cat /var/log/messages”
  • journalctl -f – the old “tail -f /var/log/messages”

但是大家心理的 OS 是...........字這麼小.......會去注意才有鬼

對.....現在要用  journalctl  來看 log 了
◢▆▅▄▃ 崩╰(〒皿〒)╯潰 ▃▄▅▆◣

我是還沒有試 grep 結合啦....
當下馬上衝到 /var/log 底下

# ls   /var/log/
README            apparmor  btmp     gdm      krb5     pbl.log          snapper.log        wpa_supplicant.log  zypper.log
YaST2             audit     cups     hp       lastlog  pk_backend_zypp  speech-dispatcher  wtmp                zypper.log-20141118.xz
alternatives.log  boot.log  faillog  journal  ntp      samba            tuned              zypp

是的, 懷念的 /var/log/messages 已經不見了

可愛的是如果你去看  /var/log/README

You are looking for the traditional text log files in /var/log, and
they are gone?

Here's an explanation on what's going on:

You are running a systemd-based OS where traditional syslog has been
replaced with the Journal. The journal stores the same (and more)
information as classic syslog. To make use of the journal and access
the collected log data simply invoke "journalctl", which will output
the logs in the identical text-based format the syslog files in
/var/log used to be. For further details, please refer to
journalctl(1).

Alternatively, consider installing one of the traditional syslog
implementations available for your distribution, which will generate
the classic log files for you. Syslog implementations such as
syslog-ng or rsyslog may be installed side-by-side with the journal
and will continue to function the way they always did.

Thank you!

Further reading:
        man:journalctl(1)
        man:systemd-journald.service(8)
        man:journald.conf(5)
        http://0pointer.de/blog/projects/the-journal.html

有沒有再被補一刀的感覺??

好啦, 你會想說, 有看到 /var/log/journal 目錄, 去看看吧

# ls -R /var/log/journal/
/var/log/journal/:
016627c3c4784cd4812d4b7e96a34226

/var/log/journal/016627c3c4784cd4812d4b7e96a34226:
system.journal                                     user-1001.journal
system@00050a15226e65e2-6a2adaf099149b92.journal~  user-1001@00050a1568c14eb9-763573ad8f79750c.journal~
user-1000.journal                                  user-484.journal

這個檔案也不是 text 文字格式
所以你如果嘗試去 貓它 ( cat )
你只會得到無情的亂碼
然後那個 log 大小是那一招 ?  8 M / 24M ?

# ls -hl  /var/log/journal/016627c3c4784cd4812d4b7e96a34226/
total 97M
-rw-r-----  1 root systemd-journal 8.0M Dec 13 19:21 system.journal
-rw-r-----  1 root systemd-journal  24M Dec 13 16:52 system@00050a15226e65e2-6a2adaf099149b92.journal~
-rwxr-xr-x+ 1 root systemd-journal 8.0M Nov 15 14:21 user-1000.journal
-rw-r-----+ 1 root systemd-journal 8.0M Dec 13 19:19 user-1001.journal
-rw-r-----+ 1 root systemd-journal  40M Dec 13 17:12 user-1001@00050a1568c14eb9-763573ad8f79750c.journal~
-rw-r-----+ 1 root systemd-journal 8.0M Dec 13 18:45 user-484.journal


使用 file 指令來檢查格式
# file  /var/log/journal/016627c3c4784cd4812d4b7e96a34226/user-1000.journal
/var/log/journal/016627c3c4784cd4812d4b7e96a34226/user-1000.journal: Journal file, offline, compressed

看來用 cat 指令無望 Orz....

# journalctl   |  grep  error
Nov 15 20:31:34 linux-dxsi gdm-Xorg-:0[791]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Nov 15 20:31:59 linux-dxsi org.a11y.Bus[1213]: g_dbus_connection_real_closed: Remote peer vanished witherror: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Nov 15 20:31:59 linux-dxsi org.gtk.vfs.Daemon[1213]: g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Nov 15 20:31:59 linux-dxsi ca.desrt.dconf[1213]: g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Nov 15 20:31:59 linux-dxsi org.gtk.Private.GoaVolumeMonitor[1213]: g_dbus_connection_real_closed: Remote peer vanished with error: 取回郵件發生錯誤:連線被對方重設 (g-io-error-quark, 0). Exiting.

目前採取  journalctl  搭配  grep 來使用
但是還是不太習慣

但是暫時又不想移除 systemd-logger 然後重新安裝  syslog-ng   (能稱多久呢?)

# zypper   search   systemd-
Loading repository data...
Reading installed packages...

S | Name                              | Summary                                             | Type      
--+-----------------------------------+-----------------------------------------------------+-----------
i | systemd-32bit                     | A System and Session Manager                        | package   
i | systemd-bash-completion           | Bash completion support for systemd                 | package   
  | systemd-devel                     | Development headers for systemd                     | package   
  | systemd-journal-gateway           | Gateway for serving journal events over the netwo-> | package   
i | systemd-logger                    | Journal only logging                                | package  


先記下來吧
看來要找時間去 man 一下相關資訊了
# man  journald.conf

# ls  /etc/systemd/
bootchart.conf  journald.conf  logind.conf  system  system.conf  user  user.conf


~ fun in share