星期二, 3月 13, 2018

VMware vCenter VCSA 6.5 Patch 小記

VMware vCenter VCSA 6.5 Patch 小記

之前的 vCenter VCSA 文章是由 VCSA 6.0 升級到 VCSA 6.0u2
那如果是同一個版本的 VCSA 要上 patch 呢?

先說結論, 以後用內建的就可以 :)

以下載 iso 的方式

到 VMware 上搜尋 patch

產品選擇 VC 選擇版本

因為我是用 VCSA 所以我是下載 VC-6.5.0U1f-Appliance-Patch
我選的是 Full Patch 的 iso 檔案 VMware-vCenter-Server-Appliance-6.5.0.14100-7801515-patch-FP.iso

將 iso 上傳到 datastore



讓 vCenter VCSA 掛載 iso

2016-03-21 15-57-12 的螢幕擷圖.png


連線到 VCSA的 port 5480


輸入 root 帳號密碼登入


點選 更新

點選 檢查更新 -- > 檢查 CDROM



點選 安裝更新 -- > 安裝 CDROM 更新


勾選 我接受授權合約的條款
點選 安裝




這邊我碰到狀況是 CDROM 的更新日期是 2018/2/15
但是要執行安裝的時候, 卻發現環境尚未準備好更新
這樣的狀況


接下來我嘗試去點選更新頁面上面的 設定






轉個想法 將檢查更新切換為 檢查存放庫



再次執行安裝更新
發現這次可以進行安裝更新的動作
安裝完成之後點選 確認



按照要求來執行重新開機

可以點選 摘要 -- > 點選 重新開機




重新開機之後
再次去檢查更新, 又可以執行更新作業
可以更新到 2018/2/15

所以推測是更新需要用 2 階段更新, 所以剛剛的更新才會出現環境尚未準備好更新

只能說現在 vCenter 的 VCSA 真是愈來愈方便了 :)



Reference


~ enjoy it

星期六, 3月 10, 2018

Docker 讀書心得小記 - Resource limit - Memory limit

Docker 讀書心得小記 - Resource limit - Memory limit

OS: openSUSE Leap 42.3 in Azure


根據書上的練習, 要針對 container 來進行 cpu 與 memory 的限制

# docker  run  -d  --name nginx-test  --cpu-shares  512  --memory 128M  -p 8080:80  nginx

WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
77af042d43b9e19cab169c369de3f47b0011bf1677df76c40d0df4536581cd5c

Swap limit 搜尋了一下解法要去修改   /etc/default/grub
GRUB_CMDLINE_LINUX加入 cgroup_enable=memory swapaccount=1


openSUSE Leap 42.3 in Azure 的 /etc/default/grub

GRUB_DISTRIBUTOR=openSUSE-Leap-42.3-Azure\ \[\ VMX\ \]
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX=" root=/dev/disk/by-uuid/1c5711ac-7841-42e0-9517-88997b16cd30 disk=/dev/sda resume=swap USE_BY_UUID_DEVICE_NAMES=1 earlyprintk=ttyS0 console=ttyS0 rootdelay=300 net.ifnames=0 quiet"
GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=800x600
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_THEME="/boot/grub2/themes/openSUSE/theme.txt"
GRUB_BACKGROUND="/boot/grub2/themes/openSUSE/background.png"

我桌機的 openSUSE Leap 42.3 的 /etc/default/grub

# cat /etc/default/grub | egrep -v '^#|^$'

GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=8
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda1 splash=silent quiet showopts"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL="gfxterm"
GRUB_GFXMODE="auto"
GRUB_BACKGROUND=/boot/grub2/themes/openSUSE/background.png
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"



修改後的
openSUSE Leap 42.3 in Azure 的 /etc/default/grub

GRUB_DISTRIBUTOR=openSUSE-Leap-42.3-Azure\ \[\ VMX\ \]
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX=" root=/dev/disk/by-uuid/1c5711ac-7841-42e0-9517-88997b16cd30 disk=/dev/sda resume=swap USE_BY_UUID_DEVICE_NAMES=1 earlyprintk=ttyS0 console=ttyS0 rootdelay=300 net.ifnames=0 quiet cgroup_enable=memory swapaccount=1"
GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=800x600
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_THEME="/boot/grub2/themes/openSUSE/theme.txt"
GRUB_BACKGROUND="/boot/grub2/themes/openSUSE/background.png"

然後如何更新 grub2 呢?
update-grub 不是 openSUSE 內的指令( 應該是 ubuntu 那邊的 )
要使用 grub2-mkconfig  -o  /boot/grub2/grub.cfg 這樣的指令方式來更新 grub

更新之前先觀察 grub.cfg 內有沒有 cgroup 設定
# grep  cgroup  /boot/grub2/grub.cfg

然後把設定檔備份下來等等比較

# cp   /boot/grub2/grub.cfg   /boot/grub2/grub.cfg.bak

接下來更新 grub.cfg

# grub2-mkconfig  -o  /boot/grub2/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-4.4.104-39-default
Found initrd image: /boot/initrd-4.4.104-39-default
done

再次觀察設定, 這個時候就會發現剛剛寫在 /etc/default/grub 的設定更新到 grub.cfg 了
# grep   cgroup   /boot/grub2/grub.cfg
linux /boot/vmlinuz-4.4.104-39-default root=UUID=1c5711ac-7841-42e0-9517-88997b16cd30  root=/dev/disk/by-uuid/1c5711ac-7841-42e0-9517-88997b16cd30 disk=/dev/sda resume=swap USE_BY_UUID_DEVICE_NAMES=1 earlyprintk=ttyS0 console=ttyS0 rootdelay=300 net.ifnames=0 quiet cgroup_enable=memory swapaccount=1
linux /boot/vmlinuz-4.4.104-39-default root=UUID=1c5711ac-7841-42e0-9517-88997b16cd30  root=/dev/disk/by-uuid/1c5711ac-7841-42e0-9517-88997b16cd30 disk=/dev/sda resume=swap USE_BY_UUID_DEVICE_NAMES=1 earlyprintk=ttyS0 console=ttyS0 rootdelay=300 net.ifnames=0 quiet cgroup_enable=memory swapaccount=1
linux /boot/vmlinuz-4.4.104-39-default root=UUID=1c5711ac-7841-42e0-9517-88997b16cd30  root=/dev/disk/by-uuid/1c5711ac-7841-42e0-9517-88997b16cd30 disk=/dev/sda resume=swap USE_BY_UUID_DEVICE_NAMES=1 earlyprintk=ttyS0 console=ttyS0 rootdelay=300 net.ifnames=0 quiet cgroup_enable=memory swapaccount=1

重新開機讓他生效

# reboot

重新嘗試執行 docker run 加上限制
# docker  run  -d  --name nginx-test  --cpu-shares  512  --memory 128M  -p 8080:80  nginx

9b49816193d4513dc3d52ef079c2d360ffc6b3ea559fa66bdcee51c31e548807

透過 docker  stats 觀察
發現該 container 記憶體的部份就有 128MiB 限制了

# docker  stats

CONTAINER           CPU % MEM USAGE / LIMIT   MEM % NET I/O BLOCK I/O           PIDS
9b49816193d4        0.00% 9.078MiB / 128MiB   7.09%               1.3kB / 0B 8.04MB / 0B         2

想要實驗是否真的會限制到那個量

所以使用另外一個視窗 啟動 opensuse 的 container 並限制 128M 記憶體

# docker  run -d  -it --cpu-shares 512 --memory 128M opensuse /bin/bash

使用 docker exec 指令呼叫另外一個 /bin/bash
# docker   exec -it   CONTAINER_ID  /bin/bash

在 container 內安裝 stress-ng
bash-4.3# zypper   -y  install   stress-ng

使用 stress-ng 指令進行壓力測試
bash-4.3# stress-ng  --vm 1 --vm-bytes  200M

觀察是否會超過 128M 使用量
:)


Reference:


~ enjoy it

星期四, 3月 08, 2018

VMware vCenter 憑證安裝小記

VMware vCenter 憑證安裝小記

OS:  openSUSE Leap 42.3
VMware:   vCenter stand 6.5 VCSA


為了解決有的時候連線到 vCenter 的時候出現的憑證警告
要手動去按進階再連線的問題 ( 對, 懶惰是進步的動力 )

所以找了這個資訊, 然後把他寫下來
首先連線到 vCenter 的URL  https://YOUR_SERVER_IP

點選 下載受信任的根CA憑證 ( 他的路徑其實會是 https://SERVER_IP/certs/download.zip  )



下載受信任的根CA憑證
會是一個 .zip 檔案 名稱為 download.zip

解壓縮 download.zip  , 解開之後會看到 certs 目錄

> ls
certs  download.zip

在 certs 目錄下面會有 lin  mac win 三個目錄
> ls
lin  mac win

因為我用的是 linux, 所以我進入到  certs/lin 目錄

> cd    certs/lin/

觀察檔案
> ls
af55ffa5.0  af55ffa5.r0

將 *.0 的檔案更改副檔名為 .cer
> mv   af55ffa5.0  af55ffa5.cer

觀察檔案
> ls
af55ffa5.cer  af55ffa5.r0

接下來要把憑證放到瀏覽器
以 Google Chrome 來說

設定 -- >  進階   -- > 管理憑證
點選授權單位 -- > 點選匯入




選取信任設定 -- > 點選確定





然後去檢查相關憑證, 應該會看到 org-localhost.localdom






Firefox 的部份
也是一樣方式匯入

可以在 編輯 -- > 偏好設定 -- > 進階 -- > 憑證
點選檢視憑證清單 使用 憑證管理員來匯入


這樣以後使用瀏覽器登入 vCenter 就不會被警告憑證的問題
然後個人覺得透過 Web 上傳檔案到 vSphere 的 datastore 憑證問題也解決了

:)

~ enjoy it