Quantcast
Channel: 不自量力 の Weithenn
Viewing all 589 articles
Browse latest View live

OneNote 使用筆記

$
0
0

前言

簡單來說 OneNote 可以是個人或團隊內整理資料的萬用筆記本,個人在整理技術筆記上也是使用 OneNote,本文將整理幾個 OneNote 的好用之處有興趣的朋友不妨參考看看,有關 OneNote 的初步認識請參考導覽影片「什麼是 OneNote?」。



使用技巧整理





參考


安裝 Docker 容器環境 - ubuntu

$
0
0

前言

簡單來說,「Docker」本來是 dotCloud公司內部的一個業餘專案,並採用 Google 的 Go 語言進行實作的產品。後來 dotCloud 公司將此專案加入 Linux 基金會並在 GitHub 上進行維護,迅速受到開發人員的喜愛,甚至 dotCloud 公司改名為 Docker Inc。有關 Docker 的一些歷史及觀念介紹因為《Docker — 從入門到實踐­》已經很清楚的說明,請參考下列相關連結即可:

Docker 簡介
         什麼是 Docker
          為什麼要使用 Docker?
Docker 基本概念
          映像檔 (Image)
          容器 (Container)
          倉庫 (Repository)
Docker 底層技術
          基本架構
          命名空間 (NameSpaces)
          控制組 (Control Groups)
          Union 檔案系統 (Union File Systems)
          容器格式
          網路


那麼 2017 年的新年新希望,就讓我們開始從玩 Docker 開始吧,以下是其它的一些重點摘要:
  • 在開始玩 Docker Lab 之前,建議註冊 Docker HubGitHub等帳號以便後續實作。
  • Container 目前尚未支援如 VM 的快照功能,但 Container 建立產生快速所以原則上並不需要快照功能。
  • Container 是指 Running 時的狀態,若是靜態的話則稱之為 Images。
  • Container 的概念,就是每個「服務」個別打包成「1 個」Container,例如,過往的 LAMP 在 Container 的運作概念中,就是分拆成 Apache Container, MySQL Container, PHP Container。


為了方便進行 Docker 環境的測試作業,我採用 Microsoft Azure 建立 ubuntu 虛擬主機。因為本文並非要討論 Microsoft Azure 所以如何建立 ubuntu 虛擬主機就不多說明了。😁






OS 需求

在 Ubuntu 運作環境中,為了確保可以順利安裝及執行 Docker 容器環境,請確認採用「64 位元」Ubuntu 以及下列版本:

  • Yakkety 16.10
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS)


首先,透過「uname -a」指令確認目前採用的 Linux 版本為 64 位元,接著執行「lsb_release -a」 可以看到為 Ubuntu 16.04.1 LTS符合 Docker 容器環境運作要求。






安裝 Docker 容器環境

完整且詳細的作法,請參考 Docker 官網提供的正規作法 Install Docker on Ubuntu - Docker。下列則是簡易作法,直接透過 curl 去把 Docker.com 上的 Shell Script 下載後執行安裝的動作。
sudo apt-get update
sudo curl -sSL https://get.docker.com | sh


安裝作業完成後,可以看到採用的 Docker Client / Server的版本及相關資訊。同時,還提醒你要把目前的使用者帳號 (此實作為 dockerlab) 加入至「Docker」群組當中,以避免後續執行 docker 指令因為權限的關係還要額外加上 sudo 才能執行的困擾。



執行下列指令,把實作的使用者帳戶 (dockerlab) 加入到「docker」群組當中,避免後續執行 docker 指令都還要打 sudo。 完成後,確認 dockerlab 這個使用者帳號已經加入到 docker 群組當中後,記得「登出再登入」便套用生效。
sudo usermod -aG docker dockerlab
grep "docker:" /etc/group
exit



重新登入後,首先確認 Docker Daemon是否正在執行中,以及後續倘若 Ubuntu 重新啟動後 Docker Daemon 是否會自動啟動。
ps aux | grep dockerd
service --status-all |grep docker






基礎操作

透過「docker info」可以查看 Docker 容器環境的運作資訊,條列一下我覺得輸出資訊中比較重要的項目:

  • Server Version: 1.13.0
  • Root Dir: /var/lib/docker/aufs
  • Docker Root Dir: /var/lib/docker



透過「docker version」指令,馬上確認目前 Docker 容器環境的 Client / Server 版本。






永遠的範例 Hello-World

那麼,讓我們開始使用 Docker 容器環境吧,不免俗的第 1 個範例就是透過 Docker 容器環境執行列出字串「Hello-World」吧。

其實在執行「docker run hello-world」指令後,在第 1 行資訊中 (Unable to find image 'hello-world:latest' locally) 可以看到,系統發現目前並沒有「Hello-World」這個 Images,所以就透過預設的系統設定去 Docker Hub 下載 Hello-World 這個容器映像檔 (所以自動執行「docker pull」的動作),最後執行它。其實在結果中看到回應的 4 點訊息,已經完全說明這個動作的流程。



接著,可以透過「docker images」查看目前系統中的 Docker Images 清單。此外,你也可以觀察一下 Docker Images 的預設資料夾「/var/lib/docker/*」下相關的變化。初步練習就先到這裡,後續再慢慢深入吧。💨






參考資源

安裝 Docker 容器環境 - CentOS

$
0
0


前言

簡單來說,「Docker」本來是 dotCloud公司內部的一個業餘專案,並採用 Google 的 Go 語言進行實作的產品。後來 dotCloud 公司將此專案加入 Linux 基金會並在 GitHub 上進行維護,迅速受到開發人員的喜愛,甚至 dotCloud 公司改名為 Docker Inc。有關 Docker 的一些歷史及觀念介紹因為《Docker — 從入門到實踐­》已經很清楚的說明,請參考下列相關連結即可:

Docker 簡介
         什麼是 Docker
          為什麼要使用 Docker?
Docker 基本概念
          映像檔 (Image)
          容器 (Container)
          倉庫 (Repository)
Docker 底層技術
          基本架構
          命名空間 (NameSpaces)
          控制組 (Control Groups)
          Union 檔案系統 (Union File Systems)
          容器格式
          網路


那麼 2017 年的新年新希望,就讓我們開始從玩 Docker 開始吧,以下是其它的一些重點摘要:
  • 在開始玩 Docker Lab 之前,建議註冊 Docker HubGitHub等帳號以便後續實作。
  • Container 目前尚未支援如 VM 的快照功能,但 Container 建立產生快速所以原則上並不需要快照功能。
  • Container 是指 Running 時的狀態,若是靜態的話則稱之為 Images。
  • Container 的概念,就是每個「服務」個別打包成「1 個」Container,例如,過往的 LAMP 在 Container 的運作概念中,就是分拆成 Apache Container, MySQL Container, PHP Container。


為了方便進行 Docker 環境的測試作業,我採用 Microsoft Azure 建立 CentOS 7 虛擬主機。因為本文並非要討論 Microsoft Azure 所以如何建立 CentOS 虛擬主機就不多說明了。😁






OS 需求

在 CentOS 運作環境中,為了確保可以順利安裝及執行 Docker 容器環境,請確認採用「CentOS 7 - 64 位元」版本。首先,透過「uname -a」指令確認目前採用的 Linux 版本為 64 位元,接著執行「cat /etc/redhat-release」 指令可以看到為 CentOS 7.3 符合 Docker 容器環境運作要求。






安裝 Docker 容器環境

完整且詳細的作法,請參考 Docker 官網提供的正規作法 Get Docker for CentOS - Docker。因為在 CentOS 7 版本中「CentOS-Extras」庫存中已經內建 Docker 套件,所以只要執行「sudo yum -y install docker」便可以安裝完成 (但是你會發現所安裝的 Docker 並非最新版本的 Docker,例如,目前最新為 1.13但透過 CentOS-Extras 所安裝則為 1.12)。


所以,本文還是採用最簡單並取得最新 Docker 版本的安裝方式透過 curl 指令去安裝。
sudo yum -y update
sudo curl -sSL https://get.docker.com | sh


從 CentOS 7 開始,管理服務的部分已經從傳統的 Runlevel (/etc/rc.d/init.d),改為新一代的「systemd  (/etc/systemd/system)」,所以在安裝作業完成後,我們使用「systemctl start docker」指令來啟動 docker 服務,接著透過「systemctl enable docker」設定 CentOS 主機重新啟動後,仍然能夠自動啟動 docker 服務。
systemctl start docker
systemctl enable docker


接著,我們仍可以透過傳統的「ps aux |grep docker」來確認 Docker Daemon 是否啟動,或採用新一代的指令「systemctl status docker」來確認目前 Docker Daemon 的執行狀態、PID……等資訊。


執行下列指令,把實作的使用者帳戶 (dockerlab)加入到「docker」群組當中,避免後續執行 docker client 指令都還要打 sudo。完成後,確認 dockerlab 這個使用者帳號已經加入到 docker 群組當中後,記得「登出再登入」以便套用生效。
sudo usermod -aG docker $(whoami)
grep "docker:" /etc/group
exit






基礎操作

透過「docker info」可以查看 Docker 容器環境的運作資訊,條列一下我覺得輸出資訊中比較重要的項目:
  • Server Version: 1.13.0
  • Docker Root Dir: /var/lib/docker


透過「docker version」指令,馬上確認目前 Docker 容器環境的 Client / Server 版本。






永遠的範例 Hello-World

那麼,讓我們開始使用 Docker 容器環境吧,不免俗的第 1 個範例就是透過 Docker 容器環境執行列出字串「Hello-World」吧。

其實在執行「docker run hello-world」指令後,在第 1 行資訊中 (Unable to find image 'hello-world:latest' locally) 可以看到,系統發現目前並沒有「Hello-World」這個 Images,所以就透過預設的系統設定去 Docker Hub 下載 Hello-World 這個容器映像檔 (所以自動執行「docker pull」的動作),最後執行它。其實在結果中看到回應的 4 點訊息,已經完全說明這個動作的流程。
docker run hello-world

接著,可以透過「docker images」查看目前系統中的 Docker Images 清單。此外,你也可以觀察一下 Docker Images 的預設資料夾「/var/lib/docker/*」下相關的變化。 初步練習就先到這裡,後續再慢慢深入吧。  💪






參考資源

[站長開講] 打造 Infrastructure Agility Mode 2 的基石 – Docker / Container

$
0
0

活動簡介

根據知名市調機構 Gartner的統計調查結果,從 2016 年開始有「2/3 以上」的企業及組織,將開始建構及整合「Mode 2」的敏捷式 IT 基礎架構,所謂「基礎架構敏捷化」(Infrastructure Agility),便是著重於 IT 基礎架構中「Mode 2」的部分以便因應商業數位化的需求。

此外,根據 Gartner 的預測,在 2017 年時全球大型企業中將有高達「75 %」的比例,會建立 Mode 1 及 Mode 2 的雙重 IT 基礎架構稱之為「Bimodal IT」。在傳統 Mode 1 當中的工作負載、技術、流程、部署模式已經行之有年無須再驗證,但 Mode 2 是新興的方式並在根本上與 Mode 1 不同,它強調的是「敏捷性」(Agility)「可擴充性」(Scalability)以提高開發人員的生產力,達到快速推出新服務的一種方式,舉例來說,「容器」(Container)技術可以幫助開發人員達到更好的敏捷性。簡單來說,傳統的 Mode 1運作架構專注於「基礎架構管理」,而新興的 Mode 2則是專注於「工作負載為中心」。

在本次聚會中將快速與大家討論及實作,如何透過 Microsoft Azure 公有雲環境,快速建立 ubuntu、CentOS、FreeBSD 虛擬主機,並且安裝及建立 Docker 容器測試環境。同時,也將實作及展示 Windows Server 2016 Container 容器環境。



活動資訊


安裝 Docker 容器環境 - FreeBSD

$
0
0

前言

簡單來說,「Docker」本來是 dotCloud公司內部的一個業餘專案,並採用 Google 的 Go 語言進行實作的產品。後來 dotCloud 公司將此專案加入 Linux 基金會並在 GitHub 上進行維護,迅速受到開發人員的喜愛,甚至 dotCloud 公司改名為 Docker Inc。有關 Docker 的一些歷史及觀念介紹因為《Docker — 從入門到實踐­》已經很清楚的說明,請參考下列相關連結即可:

Docker 簡介
         什麼是 Docker
          為什麼要使用 Docker?
Docker 基本概念
          映像檔 (Image)
          容器 (Container)
          倉庫 (Repository)
Docker 底層技術
          基本架構
          命名空間 (NameSpaces)
          控制組 (Control Groups)
          Union 檔案系統 (Union File Systems)
          容器格式
          網路


那麼 2017 年的新年新希望,就讓我們開始從玩 Docker 開始吧,以下是其它的一些重點摘要:
  • 在開始玩 Docker Lab 之前,建議註冊 Docker HubGitHub等帳號以便後續實作。
  • Container 目前尚未支援如 VM 的快照功能,但 Container 建立產生快速所以原則上並不需要快照功能。
  • Container 是指 Running 時的狀態,若是靜態的話則稱之為 Images。
  • Container 的概念,就是每個「服務」個別打包成「1 個」Container,例如,過往的 LAMP 在 Container 的運作概念中,就是分拆成 Apache Container, MySQL Container, PHP Container。


為了方便進行 Docker 環境的測試作業,我採用 Microsoft Azure 建立 FreeBSD 11 虛擬主機。因為本文並非要討論 Microsoft Azure 所以如何建立 FreeBSD 虛擬主機就不多說明了。😁




OS 需求

雖然,在 Docker 官網中的文件 Install Docker Engine當中,並沒有關於 FreeBSD 如何安裝及運作 Docker 容器環境的說明文件,但事實上 Docker 容器環境從 2015 年 6 月開始就可以在 FreeBSD 上使用,並且在 Docker - FreeBSD Wiki文件中也有相關安裝說明,所以我們還是來試試看吧。簡單來說,在 FreeBSD 要能順利運作 Docker 容器環境,將會依賴「ZFS、Jail、64bit Linux Compatibility Layer」等技術,屆時便可以順利運作 Docker 容器環境並從 docker.io Repository 檢索容器。

在 FreeBSD 運作環境中,為了確保可以順利安裝及執行 Docker 容器環境,請確認採用「FreeBSD 11-Current 及後續版本」(簡單來說,就是 2015 年 6 月發行的版本並支援 x86-64 Linux Binaries即可)。首先,透過「uname -a」指令確認目前採用的 FreeBSD 版本資訊以便符合 Docker 容器環境運作要求,此實作環境採用 FreeBSD 11.0-RELEASE-p7版本。






建立 <zroot> 用途的 Raw Disk

請依序執行下列指令,先載入 zfs 模組後執行建立 10GB ZFS root file system的 Raw Disk 指令。指令執行後,必須稍後一下,此時可以切換到 Azure Portal 可以看到磁碟正在努力讀寫當中。
# kldload zfs
# dd if=/dev/zero of=/usr/local/dockerfs bs=1024K count=10240
 10240+0 records in
 10240+0 records out
 10737418240 bytes transferred in 327.025476 secs (32833583 bytes/sec)



接著,執行建立 zpool 及 ZFS dataset on /usr/docker 掛載的動作
# zpool create -f zroot /usr/local/dockerfs
# zfs list
 NAME    USED  AVAIL  REFER  MOUNTPOINT
 zroot   286K  9.63G    19K  /zroot
# zpool list
 NAME      SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
 zroot    9.94G   496K  9.94G         -     0%     0%  1.00x  ONLINE  -
# zfs create -o mountpoint=/usr/docker zroot/docker
# df -h
 Filesystem             Size    Used   Avail  Capacity   Mounted on
 /dev/label/rootfs       27G     12G     13G       47%   /
 devfs                  1.0K    1.0K      0B      100%   /dev
 /dev/da1s1             6.8G     12K    6.2G        0%   /mnt/resource
 zroot                  9.6G     19K    9.6G        0%   /zroot
 zroot/docker           9.6G     19K    9.6G        0%   /usr/docker






安裝 Docker 容器環境

請使用 Root 權限,執行指令以便建立 Docker 容器環境。在這個安裝 Docker 容器環境的過程中,系統將會有下列 3 項提示:

  • 提示修改 /etc/fstab 以便主機重新啟動仍能自動掛載 zfs 掛載點。
  • 提示修改 /etc/rc.conf 以便主機重新啟動仍能自動啟動 Docker 服務。
  • 提示,若屆時需要將外部流量導入 Container 的話,範例 PF 防火牆開放規則「nat on ${iface} from 172.17.0.0/16 to any -> (${iface})


了解後,請執行下列指令以便建立 Docker 容器環境。
# pkg install docker-freebsd ca_root_nss





因此,執行指令完畢後請先修改「/etc/fstab」檔案內容,加上「fdesc   /dev/fd   fdescfs   rw   0   0」,以便 FreeBSD 主機重新啟動後能夠自動掛載 zfs 相關路徑。
# cat /etc/fstab
 # Device            Mountpoint     FStype    Options   Dump  Pass#
 /dev/label/rootfs   /              ufs       rw        1     1
 /dev/label/swap     none           swap      sw        0     0
 fdesc               /dev/fd        fdescfs   rw        0     0


後續,當 FreeBSD 重新啟動後,仍會自動掛載相關掛載點 (/dev/fd, /usr/docker, /zroot)。


接著,修改「/etc/rc.conf」設定檔內容,以便 FreeBSD 主機重新啟動後能夠自動啟動 Docker daemon 及 zfs 服務。
# sysrc -f /etc/rc.conf zfs_enable="YES"
 zfs_enable:  -> YES
# sysrc -f /etc/rc.conf docker_enable="YES"
 docker_enable:  -> YES


然後,就可以透過「service docker start」指令啟動 Docker 服務,我們仍可以透過傳統的「ps aux |grep docker」來確認目前 Docker Daemon 的執行狀態、PID……等資訊,或使用「service docker status」來確認 Docker Daemon 是否啟動。






基礎操作

透過「docker version」指令,確認目前 Docker 容器環境的 Client / Server 版本,可以看到是舊版「1.7.0-dev」版本。






第 1 個範例

透過「docker search ubuntu」指令搜尋 ubuntu Image,可以看到第 1 筆就是「官方 (Official)」。


接著,使用「docker pull ubuntu」指令下載 ubuntu Image。


使用「docker images」指令便可以看到 ubuntu Image 大小及資訊。


運作 ubuntu 容器環境,然後執行相關指令確認 ubuntu 容器確實運作中。


小結,然而經過一些測試,目前看來 FreeBSD 在運作 Docker 容器環境上,跟 Linux 環境相較之下似乎還不太理想。舉例來說,下載及執行 hello-world Image 及 CentOS Image 都會發生些許問題。(相關問題討論請參考 Docker-freebsd won't work | The FreeBSD Forums)







參考資源

安裝 Docker 容器環境 - Windows Server 2016

$
0
0


前言

簡單來說,「Docker」本來是 dotCloud公司內部的一個業餘專案,並採用 Google 的 Go 語言進行實作的產品。後來 dotCloud 公司將此專案加入 Linux 基金會並在 GitHub 上進行維護,迅速受到開發人員的喜愛,甚至 dotCloud 公司改名為 Docker Inc。有關 Docker 的一些歷史及觀念介紹因為《Docker — 從入門到實踐­》已經很清楚的說明,在此便不再贅述。此外,有時間也可以看一些相關影片:


雖然,在 Windows 作業系統中導入 Docker / Container 容器環境,但是整個實作技術跟 Linux 是完全不同的。簡單來說,Linux Image 是無法運作在 Windows Server Container 當中的,而 Windows Image 也無法運作在 Linux Container 容器環境,因為是採用「不同 API (Windows API vs Linux API)」運作環境,那麼我們來看看有哪些根本上的不同:

Linux Container
  • Control Group:控制群組,針對共享資源進行隔離並管控硬體資源的使用 (例如,管理記憶體、檔案快取、CPU、磁碟 I/O…等使用率)。
  • Namespaces: 命名空間,確保每個容器都有單獨的命名空間,讓容器之間的運作互相不受影響。
  • AUFS:檔案系統,不同容器可以共享基礎的檔案系統層,同時實現分層功能並將不同目錄掛載到同一個虛擬檔案系統中。

Windows Container
  • Job Objects:類似 Linux 的控制群組機制。
  • Object Namespace、Process Table、Networking:類似 Linux 的命名空間機制。
  • Compute Service: 作業系統層級的運算服務層。
  • NTFS:每個運作的容器各自擁有 1 份 NTFS 分區表,並搭配虛擬區塊儲存裝置來建立容器多層式檔案系統,接著再利用 Symlink 運作機制把不同層的檔案對應到 Host 環境檔案系統內的實際檔案,以便減少虛擬區塊儲存裝置所占用的儲存空間。


Windows Server Container vs Hyper-V Container
微軟設計 2 種不同的 Container 容器環境,以便因應不同的環境的運作需求。同時,不同的 Windows 作業系統版本支援不同的 Container 容器環境 (例如,Windows 10 並不支援 Windows Server Container,所以用 Windows 10 玩的話必須要先安裝 Hyper-V 功能才行)。


那麼,我們概略了解一下 Windows Server Container 及 Hyper-V Container 有哪些不同:
  • Windows Server Container:共用系統核心資源 (與 Linux Container 類似)。
  • Hyper-V Container:獨立系統核心資源。Hyper-V 容器並非傳統的 Hyper-V VM 虛擬主機,而是運作 Windows Server Container 的特殊虛擬主機器,並且具備獨立的系統核心、Guest 運算服務、基礎系統執行程序……等。


為了方便進行 Docker 環境的測試作業,我採用 Microsoft Azure 建立 Windows Server 2016 Datacenter 虛擬主機。因為本文並非要討論 Microsoft Azure 所以如何建立 Windows 虛擬主機就不多說明了。😁






安裝 Docker 容器環境

首先,我們安裝 OneGet Provider PowerShell 模組,然後使用 OneGet 安裝最新版的 Docker (包含安裝 Windows Feature 中的 Container),當 PowerShell 詢問是否要信任封裝來源 'DockerDefault'時,輸入 Y 或 A以便繼續安裝程序。當安裝作業完成後,系統也提示你應該重新啟動電腦以便套用生效。
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force


裝好 Docker 容器環境並重新啟動後,便會發現多出「vEthernet (HNS Internal NIC)」 網段就是 172.x.x.x / 255.255.240.0,後續在討論 Docker Network 時再來深入了解這部分。






基礎操作

安裝好 Windows Server Container 容器環境後,便可以透過「docker info」指令查看 Docker 容器環境的運作資訊:


透過「docker version」指令,馬上確認目前 Docker 容器環境的 Client / Server 版本。






永遠的範例 Hello-World

那麼,讓我們開始使用 Docker 容器環境吧,不免俗的第 1 個範例就是透過 Docker 容器環境執行列出字串「Welcome to using .NET Core!」吧。在這項練習中,您將從 Docker Hub登錄下載預先建立的 .NET 範例映像,並部署執行 .Net Hello World 應用程式的簡單容器。
docker run microsoft/dotnet-samples:dotnetapp-nanoserver

同樣的,此時可以透過「docker images」指令查看已經下載的 Docker 映像檔資訊。


在 Windows 運作環境中的容器基礎映像的部分,目前有「Windows Server Core (9.56 GB)」及「Nano Server (925 MB)」。可以透過下列指令從 Docker Hub下載
docker pull microsoft/windowsservercore
docker pull microsoft/nanoserver








參考資源

關於本站

$
0
0

關於本站

本網站所引用他人商標或圖示均屬該來源網站或其合法權利人所有,本站內容多為個人研究心得,其所寫之實作筆記內容多為參考網路上資料並實際操作後所記錄完成,歡迎分享網站內容並標示出處及作者但僅限於非商業用途連結,且禁止改作(若你重混、轉換本素材,或依本素材建立新素材,則你不得散布改作後的素材!!) [本網站內容受 創用 CC 授權 3.0保護],本網站若有任何地方侵犯到您權利的地方,請 Mail 給我 將會立刻處理謝謝您。

Weithenn 摸索 IT 世界回顧:

2002 年

6 月:

          憲兵退伍,連主要分割區是什麼東東也不知的人不自量力的想進入所謂的 IT 界工作。

8 月:

          懷著一份對電腦世界的興趣及崇拜,因而參加網路工程師班,並認識了良師 George 及益友 Mandy、Tony...等技術同好。

11 月:

          網路工程師班結訓後,第一份工作學習到有關 Cisco、3Com 網路設備...等技術 ,並且創立本站。

2003 年

4 月:

          第一份工作時,在 Bruce 的鼓勵下考取生平第一張證照 CCNA。

8 月: 

          第二份工作中,遇見 Clive開始接觸 FreeBSD便一腳陷入惡魔的世界 (BSD Committer TW 之一 Clive 的電腦世界回顧與展望)。

2007 年

3 月:

          想開了!! 開始到世界各地走走,開始記錄遊山玩水的點點滴滴。

2010 年

5 月:

          遇見了 VMware vSphere 虛擬化技術的良師 Johnny

10 月:

          受邀採訪並刊登於 iThome 第 480 期 iT 人甘苦談 ─ 架 Wiki 做筆記,IT 人分享學習心得

2011 年

11 月:

          (1) 受邀擔任 慶聯有線電視 - HP/Dell/IBM 伺服器及 CentOS 作業系統基礎設定 內部教育訓練講師。
          (2) 受邀推薦 iThome 2011 年 IT 好書 100 - 系統與網路管理類

12 月:

          (1) 出版人生中 第 1 本著作 24小時不打烊的雲端服務:專家教你用 CentOS 架設萬年不掛的伺服器。感謝大家熱情支持,此著作已經登上 博客來 2012 年度排行榜 - 電腦類 TOP 50


2012 年

3 月: 

          (1) 受邀擔任 雙和區資訊組長研習 - VMware vSphere ESXi 進階技術研習講師。
          (2) 參加 Microsoft 所主辦的虛擬化戰士團,獲得 2012 年第一屆金翅級認證,微軟伺服器虛擬日 V-Day 虛擬化戰士頒獎典禮


4 月: 

          (1) 受邀擔任 雙和區資訊組長研習 - CentOS HA 高可用性進階技術研習講師。
          (2) 成為 台灣第一位獲選 VMware vExpert 殊榮的人 VMware vExpert Information - Wei-Ren Wang,並受邀採訪刊登於 VMware VMTN Blog: vExpert Spotlight: Wei-Ren Wang


5 月: 

          (1) 受邀擔任 雙和區資訊組長研習 - FreeNAS 進階技術研習講師。
          (2) 第 1 本技術審校書出版 企業級的網路安全架構:終極防駭技術大剖析


6 月: 

          (1) 受邀擔任 雙和區資訊組長研習 - Hyper-V Server 2008 R2 進階技術研習講師。
          (2) 跟 Microsoft Taiwan DPE - 林大鈞 (Ta-Chum Lin) 合作 Microsoft Technet Blog - 文章審校

7 月: 

          (1) 當選 Microsoft MVP - Virtualization Virtual Machine項目 Microsoft MVP Profile - Wei-Ren Wang


          (2) 與 Microsoft Taiwan DPE - 林大鈞 (Ta-Chum Lin) 合作 Windows Server 2012 實戰影片審校

8 月: 

          (1) 與 Microsoft Taiwan DPE - 林大鈞 (Ta-Chum Lin) 合作 Windows Server Blog - 部份文章審校
          (2) 參加 Windows Server 2012 (Hyper-V 3) 好文比賽獲得 分享獎

9 月: 

          (1) 第 2 本技術審校書出版 世界連在一起,搜尋引擎的核心秘密


          (2) 受邀推薦 iThome 2012 年 iT 人必看的好書 - 系統與網路管理類
          (3) 於 Microsoft Techdays Taiwan 2012舉辦期間,在 Windows Server 2012 攤位擔任 問專家



11 月:

          (1) 受邀擔任 板橋區資訊組長研習 - VMware vSphere ESXi 5.1 實作講師。
          (2) 受邀擔任 Acer Infrastructure & Virtualization 技術會議 內部教育訓練講師。
          (3) 受邀採訪並刊登於 網管人雜誌 第 81 期 資訊這條路 ─ 從無到有十年苦功 王偉任嶄露頭角

12 月:

          (1) 受邀擔任 雙和區資訊組長研習 - Windows Server 2012 新功能技術研討講師。
          (2) 第 3 本技術審校書出版 MySQL+PHP初心者的學習殿堂:資料庫×動態網頁設計實務養成(附CD)


2013 年

1 月: 

          擔任 WebConf Taiwan 2013講師,當天議程簡報無廢話 DRBD + Heartbeat 實戰,當天議程錄影無廢話 DRBD + Heartbeat 實戰WebConf Taiwan 2013 懶人包WebConf Taiwan 2013 Day 1 - 活動照片WebConf Taiwan 2013 Day 2 - 活動照片


3 月: 

          擔任 Microsoft TechNet - 邁向雲端虛擬化的全方位攻略 - Hyper-V 與 VMware 大不同課程講師。
          當天議程簡報Hyper-V 與 VMware 大不同
          當天議程錄影Hyper-V 與 VMware 大不同 (上)Hyper-V 與 VMware 大不同 (下)

4 月: 

          (1) 擔任 第二屆 - 虛擬化戰士 Hyper-V 3.0 培訓計畫助教。
          (2) 貢獻 Hyper-V 2.0 文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任
          (3) 貢獻 Hyper-V 3.0 文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

5 月: 

          (1) 出版 第 2 本個人著作 24 小時不打烊的雲端服務-專家教你用 Windows Server 2012 Hyper-V3.0 實戰虛擬化技術


          (2) 擔任 2013 微軟 MVP 實戰課程日講師。
                當天議程簡報Hyper-V 3.0 實戰 - 打造你的完美伺服器虛擬化平台
                當天活動簡報台灣微軟 - 研討會與活動簡報下載 - 微軟實戰課程日
                當天活動錄影台灣微軟 - 實戰課程日回顧篇

6 月: 

          (1) 第 2 度當選 VMware vExpert 2013VMware vExpert Information - Wei-Ren Wang


          (2) 受邀擔任 雙和區資訊組長研習 - VMware vSphere/Microsoft Hyper-V 虛擬化技術平台之 CentOS Webmin 應用講師。
          (3) 受邀商業週刊採訪 商業週刊第1334期 - 這家公司 讓微軟恨、林百里愛

7 月: 

          (1) 第 2 度當選 Microsoft MVP - Virtualization Virtual Machine 項目 Microsoft MVP Profile - Wei-Ren Wang


          (2) 貢獻 Windows Server 2012 MPIO 文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

8 月: 

          (1) 受邀擔任 雙和區資訊組長研習 - 虛擬化應用與基礎電腦病毒安全防護 (A場)(B場)講師。
          (2) 受邀擔任 特新光電 - Windows Server 2008 R2 教育訓練 內部教育訓練講師。

9 月: 

          於 Microsoft Techdays Taiwan 2013舉辦期間,擔任 虛擬化平台最佳選擇: Windows Server 2012 R2 (Hyper-V 3.0 R2) vs VMware vSphere 5.1 及進行Vmware 無痛移轉之工具及建議議程講師。當天活動錄影及簡報 Channel 9 - Techdays Taiwan 2013


10 月: 

          (1) 受邀擔任 艾鍗學院 - 職訓課程 - 網管工程師類 - 私有雲與虛擬化系統工程師養成班講師。
          (2) 貢獻 Microsoft Virtual Machine Converter文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

11 月: 

          (1) 第 1 本英文翻譯書出版 打造雲端工作站 VMware View 5 建置與維護


          (2) 受邀擔任 威盛電子 - Windows Server 2012 R2 虛擬化平台最佳選擇 內部教育訓練講師。
          (3) 貢獻 Windows Server 2012 即時遷移文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任
          (4) 擔任 102學年度全國大專校院 - 資訊行政主管研討會 - 淡江大學軟體雲建置實例分享議程講師,當天議程簡報 淡江大學軟體雲建置實例分享(PDF)
          (5) 擔任 VMware 桌面虛擬化及軟體雲應用研討會講師,當天議程簡報 虛擬桌面最佳化調校


12 月: 

         (1) 受邀擔任 雙和區資訊組長研習 - Hyper-V 3.0與 VMware vSphere 5.5 虛擬化新功能比較講師。
         (2) 受邀擔任 元智大學 - 雙 V 駭客,架設高可用的服務主機 (Hyper-V 上午場)(VMware 下午場)研習活動講師。


2014 年

2 月: 

          貢獻 Windows Server 2012 R2 - 虛擬化平台最佳實務文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

3 月: 

          (1) 貢獻 Windows Server 2012 R2 - Hyper-V 10 大特色功能Windows Server 2012 R2 虛擬化平台最佳實務文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任
          (2) 擔任 2014 微軟技術關卡破解日 講師。
               當天所有議程錄影 Channel 9 - MVP 微軟技術關卡破解日
               當天議程錄影及簡報 虛擬化平台最佳選擇 - Windows Server 2012 R2 Hyper-V 新功能展示


4 月: 

          (1) 擔任 春源鋼鐵 - VMware Horizon View 虛擬桌面 內部教育訓練講師。
          (2) 第 3 度當選 VMware vExpert 2014VMware vExpert Information - Wei-Ren Wang

       
          (3) 貢獻 Windows Server 2012 R2 虛擬桌面部署建議文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

5 月: 

          (1) 受邀擔任 集英信誠 - 與大師對談技術論壇講師。
               當天所有議程簡報 與大師對談活動簡報
               當天我的議程簡報 VMware 及 Hyper-V最佳虛擬化平台硬體規劃
          (2) 受邀擔任 雙和區資訊組長研習 - HyperV 3.0 R2 新功能研討研習 講師。

6 月: 

          (1) 擔任 台灣微軟 IT 管理技術高峰論壇 (MMS 2014) 講師。
               當天所有議程簡報 2014 台灣微軟 IT 管理高峰會簡報下載
          (2) 參加 Microsoft 主辦雲端戰士團,獲得 2014 年第三屆金翅級認證
               當天活動新聞訊息 自由電子報 3C科技 - 台灣微軟匯聚雲端戰士團


          (3) 擔任 文藻外語大學 - VMware Horizon View 虛擬桌面 內部教育訓練講師。

7 月: 

          (1) 出版 第 3 本個人著作 Windows Server 2012 R2 Hyper-V 3.0 虛擬化環境實戰 (初級篇)

          (2) 第 3 度當選 Microsoft MVP - Hyper-V 項目 Microsoft MVP Profile - Wei-Ren Wang


          (3) 擔任 北區農會電腦共用中心 - VMware / Hyper-V 伺服器及桌面虛擬化基礎 內部教育訓練講師。

8 月: 

          貢獻 Windows Server 2012 升級至 2012 R2 文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

9 月: 

          於 Microsoft Techdays Taiwan 2014 舉辦期間,擔任 四場(PCIT306、DCIM309、PCIT305、DCIM402) 議程講師。年會期間所有活動錄影及簡報 Channel 9 - TechDays Taiwan 2014MVA - TechDays Taiwan 2014


11 月: 

          第 2 本英文翻譯書出版 VMware Virtual SAN 管理手冊


12 月: 

          貢獻 MVMC 2.0Windows Server 2012 R2 運作模式切換 文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任

2015 年

2 月: 

          第 4 度當選 VMware vExpert 2015VMware vExpert Information - Wei-Ren Wang


4 月: 

          (1) 出版 第 4 本 個人著作 Windows Server 2012 R2 Hyper-V 3.0 叢集雲端架構實戰 (高級篇)


        (2) 與 Channel 9 Taiwan 合作「建立 Microsoft Azure IaaS 雲端基礎建設」線上課程,進行字幕及簡報的翻譯及審校。

5 月: 

          (1) 受邀擔任 微軟 EMS 全方位企業雲端解決方案 講師。


          (2) 受邀 iThome 雜誌採訪,分享 全面透視虛擬環境網路效能的瓶頸觀點。
          (3) 受邀擔任 104 年度資訊應用服務人才培訓計畫 - 企業私有雲實戰講堂 - 以 VMware 為例  課程講師。
          (4) 貢獻 虛擬化環境導入評估工具 MAPStorage Space 存放集區、 Azure RemoteApp 應用程式虛擬化  等文章至 Microsoft TechNet 文件庫,Microsoft TechNet Library - 王偉任
          (5) 與 TechNet 部落格合作翻譯 針對軟體定義資料中心而生的 - 新世代儲存機制 、企業級虛擬化及新世代應用程式平台 文章。
          (6) 第 4 本技術審校書出版 SDN 軟體定義網路



6 月: 

         擔任 台灣微軟 IT 管理技術高峰論壇 (MMS 2015) 講師。
               當天所有影片及議程簡報 2015 台灣微軟 IT 管理高峰會簡報下載


7 月: 

        (1) 與 Channel 9 Taiwan 合作「深入探討網路儲存及災難備援議題」線上課程,進行字幕及簡報的翻譯及審校。
        (2) 與 Channel 9 Taiwan 合作「充分使用 Open Source 加速解決方案」線上課程,進行字幕及簡報的翻譯及審校。
        (3) 與 Channel 9 Taiwan 合作「使用 Azure 優化工作負載架構和管理能力」線上課程,進行字幕及簡報的翻譯及審校。
        (4) 第 4 度當選 Microsoft MVP - Hyper-V 項目 Microsoft MVP Profile - Wei-Ren Wang


9 月: 

         (1) 受邀擔任 資策會 Hyper-V 虛擬化實戰系列課程講師。
         (2) 於 Microsoft Techdays Taiwan 2015 舉辦期間,擔任 3場(ITM305、ECI309、ECI303) 議程講師。年會期間所有活動錄影及簡報 Channel 9 - TechDays Taiwan 2015



10 月: 

          (1) 與 MSDN 部落格合作翻譯 微軟正式宣布推出 PowerShell DSC for Linux Version 1.1 以及新的 Linux 資源文章。
          (2) 第 3 本 英文翻譯書出版 實戰 Azure 混合雲|基礎架構 x 高可用性 x 災難復原


11 月: 

          第 4 本英文翻譯書出版 Active Directory 環境的 PowerShell 活用指南


2016 年

1 月: 

          與 TechNet 台灣部落格 合作,撰寫 Windows Server 2016 攻略連載文章:
               [Compute] Windows Server 2016 攻略 (一) - 新世代虛擬化平台 Hyper-V
               [Compute] Windows Server 2016 攻略 (二) - 為雲端而生的極簡平台 Nano Server
               [Compute] Windows Server 2016 攻略 (三) - 整合雲端元素的容錯移轉叢集

2 月: 

          (1) 第 5 度當選 VMware vExpert 2016技術專家,VMware vExpert Information - Wei-Ren Wang


          (2) 與 TechNet 台灣部落格 合作,撰寫 Windows Server 2016 攻略連載文章:
               [Storage] Windows Server 2016 攻略 (四) - SDS 軟體定義儲存
               [Storage] Windows Server 2016 攻略 (五) - 資料備援新選擇 Storage Replica
               [Storage] Windows Server 2016 攻略 (六) - 儲存資源品質管控機制 Storage QoS

3 月: 

         (1) 貢獻多篇技術文章至 Microsoft TechNet 技術文件庫
                Windows Server vNext 新技術預覽
                WDS 部署服務
                Microsoft SDS 軟體定義儲存技術
                Microsoft 資料保護最後一哩 Storage Replica
                新世代伺服器 Nano Server

          (2) 與 TechNet 台灣部落格 合作,撰寫 Windows Server 2016 攻略連載文章:
               [Network] Windows Server 2016 攻略 (七) - 新世代虛擬網路交換器 SET ( Switch Embedded Teaming )
               [Network] Windows Server 2016 攻略 (八) - SDN 軟體定義網路

4 月: 

          第 5 本英文翻譯書出版 VMware vSphere 最佳化效能調校


5 月: 

         受邀擔任 國立臺北商業大學 - 私有雲規劃與建置 VMware 實務班 講師。

6 月: 

         (1) 第 6 本英文翻譯書出版 Hyper-V 最佳實踐:快速建置虛擬化解決方案。      


         (2) 受邀擔任 聖約翰科技大學 - VMware 虛擬化技術培訓課程 講師。

7 月: 

        (1) 第 5 度當選 Microsoft MVP - Cloud and DataCenter Management 項目 Microsoft MVP Profile - Wei-Ren Wang


        (2) 受邀擔任 105 年度資訊應用服務人才培訓計畫 - 企業私有雲之規劃與建置 (實務班、進階班) - 以 Microsoft Hyper-V 為例  課程講師。

        (3) 受邀擔任 財團法人中興工程顧問社 VMware Horizon VDI 虛擬桌面 內部教育訓練講師。

8 月: 

        (1) 受邀擔任 資策會 - VMware vSphere ESXi 桌面虛擬化實戰課程講師。

        (2) 受邀擔任 Community Open Camp活動講師。


11 月: 

       (1)  受邀擔任 國立臺北商業大學 - 私有雲規劃與建置 VMware 實務班 講師。

       (2)  受邀擔任 中華電信學院 - VMware vSphere 建置與維護實作進階班 講師。

2017 年

2 月: 

         第 6 度當選 VMware vExpert 2017 技術專家,VMware vExpert Information - Wei-Ren Wang


3 月: 

         受邀分享 打造 Infrastructure Agility Mode 2 的基石 – Docker / Container 議程講師。



其它

  • Weithenn PGP Keyid: 0xCD39063B
  • Weithenn Twitter: @weithenn
  • 最有價值專家: Microsoft Hyper-V MVP、VMware vExpert
  • 壁紙清單: CCNA, NSPA, JNCIA-JUNOS, JNCIA-ER, JNCIA-EX, JNCIA-Sec, MCP, MCSA, MCTS, MCITP, RHCT, RHCSA, RHCE, VSP4, VTSP4, VCP4, VSP5, VTSP5, VCP5-DCV, VCA-Cloud、VCA-DCV、VCA-WM、VCP-Cloud、VCP5-DT。

安裝 Docker 容器環境 - VMware Photon

$
0
0

前言

Photon由 VMware 官方在 2015 年 4 月發行,它是由 VMware 自家所開發的 Linux 版本專為 vSphere 環境所優化的 Container 運作平台 (同時,也支援其它常見的容器格式,例如,Docker, Rocket (rkt), Pivotal Garden),並且移除 Linux Kernel 及 vSphere Hypervisor 重複的核心快取,以便提升整體運作效能。

此外,Photon OS可以部署在 vSphere ESXi 5.5、6.0虛擬化平台,以及 vCloud Air、VMware Fusion、VMware Workstation等虛擬化環境中。下列為入門 Photon OS 很棒的參考文件及影片:





Photon 安裝需求

Photon OS 安裝及初始設定的詳細操作步驟,請參考官方影片及說明文件:


在此次的實作環境中,採用的 Photon-1.0 ISO 大小為 2.06 GB,倘若採用 VM 的方式安裝 photon 時,記得在選擇 OS 類型時採用「Linux - Other Linux 3.x kernel 64-bit」。下列為安裝 Photon OS 的最低硬體需求:
  • 2 vCPU
  • 384 MB Memory
  • 20 GB HDD


在安裝 Photon 過程中,將有下列 4 種安裝選項可供選擇:
  • Photon Minimal:為最輕量的 Container Host Runtime 運作環境,具備最高效能及安全性的版本。
  • Photon Full:包含額外的套件以方便建立及打包應用程式為容器環境,適合一開始使用 Photon 進行驗證及測試的版本。
  • Photon OSTree Host:將會建立 Photon OS Instance 並從 RPM-OSTree Server 下載相關 Package 及 Library,並且後續由 OSTree Server 集中管理。
  • Photon OSTree Server:將會建立 Repository 及負責管理 OSTree Hosts,為單位生命週期管理及企業級規模擴充的工作任務。


此次實作環境中,選擇「Photon Full」安裝選項並花費 225 秒即安裝完畢。





基礎操作

查看 Photon OS 主機系統資訊。此外,倘若 Photon OS 是運作在 VM 虛擬主機的話,可以透過「systemctl status vmtoolsd」指令查看 VMware Tools 服務的運作情況。
# uname -a
# cat /etc/photon-release
# hostnamectl


從 RHEL 7 / CentOS 7 開始,管理服務的部分已經從傳統的 Runlevel (/etc/rc.d/init.d),改為新一代的 systemd  (/etc/systemd/system)。因此,採用與 RedHat / CentOS 相關 Linux 核心的 Photon OS 便可以使用「systemctl start docker」指令來啟動 docker 服務,接著透過「systemctl enable docker」設定 Photon 主機重新啟動後,仍然能夠自動啟動 docker 服務。接著,可以透過傳統的「ps aux |grep docker」來確認 Docker Daemon 是否啟動,或採用新一代的指令「systemctl status docker」來確認目前 Docker Daemon 的執行狀態、PID……等資訊。
# systemctl start docker
# systemctl enable docker
# ps aux |grep docker
# systemctl status docker


透過「docker info」可以查看 Docker 容器環境的運作資訊,條列一下我覺得輸出資訊中比較重要的項目:
  • Server Version: 1.11.0
  • Docker Root Dir: /var/lib/docker


透過「docker version」指令,馬上確認目前 Docker 容器環境的 Client / Server 版本。






永遠的範例 Hello-World

那麼,讓我們開始使用 Docker 容器環境吧,不免俗的第 1 個範例就是透過 Docker 容器環境執行列出字串「Hello-World」吧。

其實在執行「docker run hello-world」指令後,在第 1 行資訊中 (Unable to find image 'hello-world:latest' locally) 可以看到,系統發現目前並沒有「Hello-World」這個 Images,所以就透過預設的系統設定去 Docker Hub 下載 Hello-World 這個容器映像檔 (所以自動執行「docker pull」的動作),最後執行它。其實在結果中看到回應的 4 點訊息,已經完全說明這個動作的流程。
# docker run hello-world

接著,可以透過「docker images」查看目前系統中的 Docker Images 清單。此外,你也可以觀察一下 Docker Images 的預設資料夾「/var/lib/docker/*」下相關的變化。


接著,我們來練習第 2 個範例為透過 Docker 容器環境執行 Nginx 網頁伺服器。但是在開始之前因為在本文實作環境中,採用「Photon Full」安裝選項所以預設會自動啟動 httpd服務 (佔用 TCP Port 80),所以把 httpd 調整為預設停用,以避免 Photon OS 重新啟動後佔用 TCP Port 80。
# systemctl disable httpd
# systemctl list-unit-files --type service | grep enabled


確認 Photon OS 停用 httpd 預設啟動的組態設定後,便可以練習第 2 個範例為透過 Docker 容器環境執行 Nginx 網頁伺服器。
# docker run -d -p 80:80 vmwarecna/nginx

Photon OS 預設 Iptables 防火牆規則只允許 TCP Port 22 放行,我們開啟常用的 ICMP 回應 (ping) 以及 TCP Port 80將其放行。有關 iptables 防火牆的基本操作,請參考站內文章 邁向 RHCE 之路 (Day22) - IPTables 防火牆文章內容。


請修改「/etc/systemd/scripts/iptables」組態設定檔,開啟 ICMP 回應 (ping) 以及 TCP Port 80 放行 (如下 2 行放行規則)。然後,就可以重新啟動 iptables 服務以便防火牆規則能夠套用生效,再採用「iptables -L」指令確認 ICMP 及允許 TCP Port 80 的防火牆規則已經套用生效。
# vi /etc/systemd/scripts/iptables
  iptables -A INPUT -p icmp -j ACCEPT
  iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# systemctl restart iptables
# systemctl status iptables
# iptables -L


確認 Photon OS 的 iptables 防火牆允許 TCP Port 80 後,便可以開啟瀏覽器確認是否能夠看到 Nginx 網頁伺服器的歡迎頁面。






MeFAQ

Q1. 預設情況下 Photon OS 雖然 sshd 服務有啟動,但不允許 Root 帳號遠端 SSH 登入?

Ans:請參考 Photon Wiki - FAQ - Why can't I SSH in as root?文章內容。簡單來說,Photon OS 預設情況下「/etc/ssh/sshd_config」設定檔內容中,預設值為「PermitRootLogin no」所以,不允許 Root 管理帳號可以遠端登入。所以,只要修改為「PermitRootLogin yes」後重新啟動 sshd daemon 即可 (當然,這樣就會多了安全性風險就不在本文討論範圍了。)
# grep PermitRootLogin /etc/ssh/sshd_config
  PermitRootLogin yes
# systemctl restart sshd
# systemctl status sshd




Q2. 運作 nginx 時顯示 Localhost TCP Port 80 已經被使用了?

Ans: 倘若在安裝 Photon OS 時,採用「Photon Full」選項的話,那麼預設就會安裝及啟用 httpd 服務所以 TCP Port 80 就會被佔用。倘若,選擇 Minimal 的話就不會。相關討論串請參考 TCP Port 80 in use | VMware CommunitiesRunning Photon OS on vSphere example iptables issue · Issue #35 · vmware/photon-controller


可以看到預設情況下 Photon OS 已經 Listen tcp6 port 80。
# netstat -na | grep ":80"
tcp6      0      0 :::80                  :::*                    LISTEN


如果,希望是 Listen tcp4 port 80 的話,可以修改「/etc/httpd/httpd.conf」把「Listen 80」改成「Listen 0.0.0.0:80」,然後「systemctl httpd restart」就會變成 IPv4 httpd 了。
# netstat -na | grep ":80"
tcp       0      0 0.0.0.0:80              0.0.0.0:*               LISTEN


但是,我們希望把 httpd 調整為預設停用並停止服務,以避免 Photon OS 重新啟動的話會佔用 TCP Port 80。
# systemctl stop httpd
# systemctl disable httpd
# systemctl list-unit-files --type service | grep enabled






參考資源


133 期 - 實作 Hyper-V 巢狀虛擬化測試研發效率大提升

$
0
0

網管人雜誌

本文刊載於 網管人雜誌第 133 期 - 2017 年 2 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。





文章目錄

前言
實戰 Hyper-V 巢狀式虛擬化
          Guest Hypervisor 安裝 Hyper-V 角色
          Guest Hypervisor 啟用 MAC 位址變更機制
          Guest Hypervisor 啟用 NAT 機制
          Nested VM 再生 Nested VM?
結語





前言

在伺服器虛擬化運作環境中,談到「巢狀式虛擬化」(Nested Virtualization)的運作環境時,大家通常都會想到 VMware vSphere 虛擬化解決方案。沒錯,在過去的 Hyper-V 虛擬化平台當中,要建構出「巢狀式虛擬化」的運作環境,確實非常困難並且難以達成的。現在,透過最新發行的 Windows Server 2016 雲端作業系統,所建構的 Hyper-V 虛擬化平台便能原生內建支援「巢狀式虛擬化」運作機制。
事實上,從 Windows Server 2016技術預覽版本 4 的「10565」組建號碼開始,便原生內建支援巢狀式虛擬化機制。

簡單來說,在過去舊版 Hyper-V 虛擬化平台運作架構中,最底層 Hyper-V Hypervisor 虛擬化管理程序,將會完全管控「虛擬化擴充功能」(Virtualization Extensions)的部分,也就是如圖 1 所示中「橘色箭頭」的部分。同時,Hyper-V Hypervisor 並不會將底層硬體輔助虛擬化功能,傳遞給運作於上層的客體作業系統,所以在舊版的 Hyper-V 虛擬化平台上很難實作出巢狀式虛擬化的運作環境。

圖 1、舊版 Hyper-V 虛擬化平台運作架構(不支援巢狀式虛擬化)


現在,透過最新 Windows Server 2016 雲端作業系統所建置的 Hyper-V 虛擬化平台當中,Hyper-V Hypervisor 虛擬化管理程序,已經可以順利將「虛擬化擴充功能」也就是底層硬體輔助虛擬化技術,傳遞給 Hyper-V 虛擬化平台上運作的客體作業系統了。

因此,當 Hyper-V 虛擬化平台上運作的客體作業系統為 Windows Server 2016 時,因為能夠順利接收到由底層所傳遞過來的硬體輔助虛擬化技術,所以便能啟用 Hyper-V 虛擬化功能並建立 VM 虛擬主機,達成 VM 虛擬主機中再生出 VM 虛擬主機的巢狀式虛擬化運作架構。
事實上,當客體作業系統運作 Windows 10時,也能順利接收底層所傳遞過來的硬體輔助虛擬化技術,達成 VM 虛擬主機中再生出 VM 虛擬主機的巢狀式虛擬化運作架構。
圖 2、新版 Hyper-V 虛擬化平台運作架構(支援巢狀式虛擬化)

此外,一般對於巢狀式虛擬化技術的認知,僅止於建立測試研發環境上具備方便度而已,通常在線上營運的運作環境中並不會使用到巢狀式虛擬化技術。然而,在新版 Windows Server 2016 中 Hyper-V 虛擬化平台支援巢狀式虛擬化技術,並非只是為了達到 Nested VM 這種 VM 虛擬主機再生出 VM 虛擬主機,方便建立測試研發環境的目的而已。

在新一代 Windows Server 2016 雲端作業系統運作環境中,同時支援 Windows Containers 及 Hyper-V Container 這 2 種容器技術運作環境,其中「Hyper-V Container」容器技術運作環境的部分,便是在 VM 虛擬主機中再運作 Container 容器環境,達到更進一步的容器技術隔離運作環境。事實上,Hyper-V Container 的容器技術運作環境,便是透過 Hyper-V 巢狀式虛擬化技術所達成的。

圖 3、Windows Containers 與 Hyper-V Containers 運作架構示意圖





實戰 Hyper-V 巢狀式虛擬化

在開始實作 Hyper-V 巢狀式虛擬化機制之前,我們先了解建立 Hyper-V 巢狀式虛擬化的運作環境需求以及相關限制:

Hyper-V 主機(Hyper-V Hypervisor)
  • 運作 Hyper-V 巢狀式虛擬化技術的實體伺服器,在 CPU 處理器硬體輔助虛擬化技術的部分,必須採用支援「Intel VT-x 及 EPT」虛擬化擴充功能的 CPU 處理器才行。
  • 作業系統的部分,必須採用 Windows 10 年度更新版(Enterprise、Professional、Education)或 Windows Server 2016(Standard、Datacenter)等版本。

VM 虛擬主機(Guest Hypervisor)
  • 必須採用「第 2 世代」以及新版「8.0」的 VM 虛擬主機格式。
  • 作業系統的部分,必須採用 Windows 10年度更新版(Enterprise、Professional、Education)或 Windows Server 2016(Standard、Datacenter)等版本。
  • 必須「啟用」vCPU 虛擬處理器的虛擬化擴充功能,才能夠順利接收由底層 Hyper-V 虛擬化平台所傳遞的硬體輔助虛擬化技術。
  • 建議「停用」動態記憶體功能。雖然,啟用動態記憶體功能仍然不影響 VM 虛擬主機的運作,但倘若嘗試調整記憶體空間大小時(也就是執行 Runtime Memory Resize 的動作),將會發生失敗的情況。
  • 必須「啟用」MAC Address Spoofing 機制,或建立具備 NAT 功能的 vSwitch 虛擬網路交換器,否則屆時建立的 Nested VM 虛擬主機,將會發生無法與實體網路環境連通或連線至網際網路的情況。

上述 Hyper-V 巢狀式虛擬化的運作環境需求僅為大方向的重點規劃要項,下列將針對 Hyper-V 實體伺服器在 CPU 處理器及記憶體方面的選擇及規劃給予建議。

CPU 處理器的選擇
事實上,從 Windows Server 2008 R2 作業系統版本開始,Windows Server 便僅提供 64 位元的作業系統版本,當然 Windows Server 2012 和 2012 R2 以及新世代的雲端作業系統 Windows Server 2016 也不例外。因此,在選擇原生 64 位元的 CPU 處理器時,請選擇具備更多「定址空間」及具備大容量「L2 / L3 快取」空間的 CPU 處理器,甚至較新世代的處理器如 Intel Haswell、Broadwell 更支援 L4 快取,當擔任 Hyper-V 角色的硬體伺服器配置這樣的 CPU 處理器時,將能夠讓 Hyper-V 伺服器擁有更強大的運算資源。
請注意,雖然從 Windows Server 2008 R2 作業系統版本開始,Windows Server 便不再發行 32 位元版本,但是在原生 64 位元的 Windows Server 環境中運作 32 位元的應用程式,並不會有任何問題產生。

至於,在選擇 CPU 處理器時,應該選擇追求「高時脈」以得到高效能的運算速度,或者是著重在選擇「多核心」以達到平行運算,則應該視屆時運作於 Hyper-V 虛擬化平台上 VM 虛擬主機當中的工作負載類型而定,舉例來說,倘若 VM 虛擬主機當中的應用程式是屬於「單線程」(Single-Thread)類型的話,那麼便應該選擇採用「高時脈」類型的 CPU 處理器,倘若 VM 虛擬主機當中的應用程式是屬於「多線程」(Multi-Thread)類型的話,那麼便應該選擇採用「多核心」類型的 CPU 處理器,如此一來才能夠讓 VM 虛擬主機當中的工作負載得到最佳化的運算效能。

此外,在選擇 CPU 處理器硬體輔助虛擬化技術的部分,目前主流的 CPU 處理器皆已經支援第一代硬體輔助虛擬化技術(例如,Intel VT-x 或 AMD-V),以及第二代硬體輔助虛擬化技術或稱第二層位址轉譯 SLAT(例如,Intel EPT 或 AMD NPT),以便降低因為虛擬化技術所造成的硬體資源耗損。
請注意,在 Windows Server 2016 所建構的 Hyper-V 虛擬化平台中,倘若要建立 Hyper-V 巢狀式虛擬化運作環境的話,目前僅支援 Intel 處理器的硬體輔助虛擬化技術「Intel VT-x 及 EPT」,尚未支援採用 AMD處理器「AMD-V 及 NPT」虛擬化擴充功能建立 Hyper-V 巢狀式虛擬化運作環境。

Memory 記憶體的選擇
在建構 Hyper-V 虛擬化平台的硬體伺服器上,針對實體記憶體的部分當然是越多越好。因為,當實體伺服器記憶體空間不足時,便會迫使 Windows Server 透過硬碟空間產生「分頁檔案」,以便嘗試渡過記憶體空間不敷使用的情況,此時將會直接影響並降低實體伺服器的運作效能。

倘若,因為 IT 預算的關係在短期之內真的無法購足實體記憶體時,則會建議應該依照如下準則來優化分頁檔案的運作效率:

  • 請將分頁檔案產生在實體隔離的硬碟環境,也就是不要跟作業系統或應用程式共用同一個硬碟空間。
  • 雖然將分頁檔案建立在具備容錯機制的硬碟空間中(例如,RAID 1),可能會導致更慢的儲存 I/O 效能,但是倘若將分頁檔案存放於「未」具備容錯機制的硬碟空間時,雖然會獲得較快的儲存 I/O 效能,然而一旦該硬碟發生災難事件時可能會導致「系統崩潰」的情況發生。
  • 請保持分頁檔案隔離原則,不要將「多個」分頁檔案同時建立在同一個硬碟內。

此外,應該要選擇支援 NUMA 架構的實體伺服器,以避免 CPU 處理器與記憶體之間的資料存取行為,因為匯流排頻寬不足的問題而產生存取瓶頸。值得注意的是,當採用支援 NUMA 架構的實體伺服器時,必須要注意實體記憶體空間必須平均分配到不同的 NUMA 節點,以避免 CPU 處理器仍需跨越 NUMA 節點進行記憶體空間的存取。

了解,上述 Hyper-V 伺服器在 CPU 處理器及記憶體的選擇規劃,以及實作 Hyper-V 巢狀式虛擬化的運作環境需求及限制等準則之後,接著便可以開始實作 Nested VM 巢狀式虛擬化運作環境。



Guest Hypervisor 安裝 Hyper-V 角色

首先,我們在實體伺服器所建構的 Hyper-V 虛擬化平台中,建立擔任 Guest Hypervisor 角色名稱為「WS2016-Outer」的 VM 虛擬主機,同時採用「第 2 世代」以及新版「8.0」的 VM 虛擬主機格式,在客體作業系統的部分則是採用 Windows Server 2016 DataCenter 版本。

圖 4、建立擔任 Guest Hypervisor 角色的 VM 虛擬主機

登入 WS2016-Outer 虛擬主機之後,我們可以直接開啟伺服器管理員並嘗試安裝 Hyper-V 伺服器角色,然而你會發現當你勾選「Hyper-V」伺服器角色項目後,在系統執行檢查程序完畢時將會出現「無法安裝 Hyper-V:處理器沒有必要的虛擬化功能」的錯誤訊息。

圖 5、擔任 Guest Hypervisor 角色的 VM 虛擬主機,無法順利安裝 Hyper-V 伺服器角色

此時,我們可以透過 Coreinfo虛擬化擴充功能檢查工具,下載後解壓縮無須安裝直接在開啟的命令提示字元視窗中鍵入「coreinfo.exe -v」指令,便可以檢查目前在 WS2016-Outer 虛擬主機中,是否擁有 Intel VT-x 及 EPT 硬體輔助虛擬化功能。如圖 6 所示,可以看到在檢查的顯示結果中,目前擔任 Guest Hypervisor 角色的虛擬主機並沒有任何的硬體輔助虛擬化功能,所以才會導致無法順利安裝 Hyper-V 伺服器角色。

圖 6、目前擔任 Guest Hypervisor 角色的虛擬主機並沒有任何硬體輔助虛擬化功能

因此,我們必須為擔任「Guest Hypervisor」角色的 VM 虛擬主機,執行「啟用」vCPU 虛擬處理器虛擬化擴充功能的動作,如此一來 VM 虛擬主機才能順利接收,由底層 Hyper-V 虛擬化平台所傳遞而來的 Intel VT-x 及 EPT 硬體輔助虛擬化技術。

值得注意的是,擔任 Guest Hypervisor 角色的 VM 虛擬主機必須為「關機(Power Off)」狀態,才能透過 PowerShell 順利執行啟用 vCPU 虛擬處理器虛擬化擴充功能的動作,倘若 VM 虛擬主機為「運作中(Power On)」狀態的話,那麼當你執行啟用 vCPU 虛擬處理器虛擬化擴充功能的動作時,將會得到 PowerShell 指令執行失敗的情況。

圖 7、VM 虛擬主機必須關機,否則啟用 vCPU 虛擬處理器虛擬化擴充功能的動作會失敗

順利將 WS2016-Outer 虛擬主機關機後,便可以執行啟用 vCPU 虛擬處理器虛擬化擴充功能的動作,並且於指令執行完畢後再次確認 VM 虛擬主機屬性中,「ExposeVirtualizationExtensions」的欄位值是否為「True」以便確認變更作業已經套用生效。

圖 8、確認 VM 虛擬主機是否啟用 vCPU 虛擬處理器虛擬化擴充功能

請將擔任 Guest Hypervisor 角色的 VM 虛擬主機重新開機並登入後,再次執行 Coreinfo 虛擬化擴充功能檢查作業。如圖 9 所示,可以看到在檢查的顯示結果中,擔任 Guest Hypervisor 角色的虛擬主機,已經順利接收到由底層 Hyper-V 虛擬化平台所傳遞而來的 Intel VT-x 及 EPT 硬體輔助虛擬化技術。

圖 9、VM 虛擬主機,順利接收底層 Hyper-V 虛擬化平台傳遞的 Intel VT-x 及 EPT 硬體輔助虛擬化技術

此時,請開啟伺服器管理員並再次嘗試為 WS2016-Outer 虛擬主機,安裝 Hyper-V 伺服器角色時便可以發現能夠順利新增並安裝完成。

圖 10、順利為 WS2016-Outer 虛擬主機安裝 Hyper-V 伺服器角色



Guest Hypervisor 啟用 MAC 位址變更機制

當你順利為 WS2016-Outer 虛擬主機安裝 Hyper-V 伺服器角色,並且在 WS2016-Outer 虛擬主機中建立名稱為「WS2016-Inner」的虛擬主機後,此時你將會發現 WS2016-Inner 虛擬主機的網路組態設定雖然正確無誤,但是它卻無法順利與實體網路環境溝通或連接到網際網路?

主要原因在於,在 Hyper-V 巢狀式虛擬化運作架構中的 VM 虛擬主機(又稱為 Nested VM虛擬主機),必須在上層 Guest Hypervisor 虛擬主機中,啟用「MAC 位址變更」(MAC Address Spoofing)功能,以便 Nested VM 虛擬主機的網路封包,能夠順利在 2 層(Hyper-V Hypervisor 及 Guest Hypervisor)虛擬網路交換器之間順利路由,才能夠與實體網路環境溝通或碰觸到網際網路。

因此,Hyper-V 主機的管理人員可以透過 PowerShell 指令,或者是 Hyper-V 管理員操作介面進行啟用 MAC 位址變更的動作。倘若,透過 PowerShell 指令進行組態設定的話,請在 Hyper-V 主機指定為「WS2016-Outer」虛擬主機開啟 MAC 位址變更功能,並於執行後再次確認 VM 虛擬主機屬性中「MacAddressSpoofing」欄位值為「On」,以便確認變更作業已經套用生效。

圖 11、透過 PowerShell 指令,為 Guest Hypervisor 啟用 MAC 位址變更功能

或者,管理人員也可以開啟 Hyper-V 管理員操作介面,選擇 WS2016-Outer 虛擬主機後依序點選「設定 > 網路介面卡 > 進階功能」項目,然後勾選「啟用 MAC 位址變更」選項即可。

圖 12、透過 Hyper-V 管理員,為 Guest Hypervisor 虛擬主機啟用 MAC 位址變更功能

完成 Guest Hypervisor 虛擬主機啟用 MAC 位址變更功能的組態設定後,便可以發現「WS2016-Inner」Nested VM 虛擬主機,已經可以順利通過 WS2016-Outer 這台 Guest Hypervisor 的 vSwitch 虛擬網路交換器,以及 HV01 這台 Hyper-V 實體伺服器的 vSwitch 虛擬網路交換器進行路由,進而與實體網路環境溝通或碰觸到網際網路。

圖 13、Nested VM 虛擬主機,順利在 2 層 vSwitch 虛擬網路交換器之間順利路由



Guest Hypervisor 啟用 NAT 機制

當 Guest Hypervisor 虛擬主機,運作在你能掌控的 Hyper-V 虛擬化平台時,便可以透過上述 PowerShell 指令或 Hyper-V 管理員,幫 Guest Hypervisor 虛擬主機啟用 MAC 位址變更功能,進而讓 Nested VM 虛擬主機能夠與實體網路環境溝通或碰觸到網際網路。

倘若,Guest Hypervisor 虛擬主機運作在你「無法」掌控的 Hyper-V 虛擬化平台時,例如,Microsoft Azure 公有雲服務。或者,其它並非採用 Hyper-V 虛擬化解決方案的虛擬化平台,例如,Amazon AWS 公有雲服務 、VMware vSphere 虛擬化解決方案……等。

此時,便需要在 Guest Hypervisor 虛擬主機端,建立具備 NAT 功能的 vSwitch 虛擬網路交換器,以便屆時在 Guest Hypervisor 中所產生的 Nested VM 虛擬主機,能夠順利與實體網路環境溝通或碰觸到網際網路。

請在 Guest Hypervisor 虛擬主機端,執行 PowerShell 指令或透過 Hyper-V 管理員操作介面,建立類型為「內部」(Internal)的 vSwitch 虛擬網路交換器。如圖 14 所示,我們透過「New-VMSwitch」的 PowerShell 指令建立名稱為「VM-NAT」,並且類型為內部的 vSwitch 虛擬網路交換器,然後透過 Hyper-V 管理員操作介面驗證是否建立完成。

圖 14、建立屆時 Nested VM 虛擬主機對外溝通連線的 vSwitch 虛擬網路交換器

接著,再次執行「New-NetNat」的 PowerShell 指令,建立屆時用於 NAT 運作機制中的 IP 網段,在本文實作環境中建立名稱為「LocalNAT」,並且採用「192.168.100.0/24」IP 網段的 NAT 網路環境。

圖 15、建立屆時用於 NAT 運作機制中的 IP 網段網路環境

最後,再為剛才所建立名稱為 VM-NAT 的虛擬網路交換器指定所要採用的 IP 位址即可。在本文實作環境中,我們指派 VM-NAT 虛擬網路交換器採用「192.168.100.254」的 IP 位址,屆時 Nested VM 虛擬主機在設定網路組態時,便需要將預設閘道的 IP 位址設定為 192.168.100.254 後,才能順利與實體網路環境溝通或碰觸到網際網路。

圖 16、為 VM-NAT 虛擬網路交換器指派使用 192.168.100.254 的 IP 位址

在 Guest Hypervisor 虛擬主機端進行 NAT 組態設定的動作執行完畢後,首先請為 Nested VM 虛擬主機調整該網路介面卡所連接的 vSwitch 虛擬網路交換器,在本文實作環境中便是將 WS2016-Inner 虛擬主機的網路介面卡,改為連接至剛才我們所建立的 VM-NAT 虛擬網路交換器,然後在設定網路組態的部分則是指派為 192.168.100.10,當然最重要的是預設閘道必須指向至 192.168.100.254 的 IP 位址。此時,Nested VM 虛擬主機便可以順利透過 WS2016-Outer 虛擬主機,也就是 Guest Hypervisor 的 VM-NAT 虛擬網路交換器進行 NAT 進而能夠碰觸到網際網路。

圖 17、Nested VM 虛擬主機,透過具備 NAT 功能的 vSwitch 虛擬網路交換器碰觸到網際網路



Nested VM 再生 Nested VM?

至此,我們已經順利透過新一代 Windows Server 2016 雲端作業系統,原生內建的 Hyper-V 巢狀式虛擬化技術建立 Nested VM 運作環境,讓管理人員只要透過 1 台硬體伺服器,便能建立出「Hyper-V Host > Guest Hypervisor > Nested VM」的 Hyper-V 巢狀式虛擬化運作環境。

那麼,有沒有可能更進一步在 Nested VM 虛擬主機中再生出 Nested VM 虛擬主機?答案是可行的,只要遵循前述所條列的 Hyper-V 巢狀式虛擬化技術運作環境需求及限制,便可以讓 Nested VM 再生出 Nested VM 虛擬主機。

因為實作方式與前述的操作步驟相同所以便不再贅述,如圖 18 所示我們總共建立出 4 層的 Hyper-V 巢狀式虛擬化技術運作環境:

第 1 層(HV01):Hyper-V Hypervisor 實體伺服器。
     第 2 層(WS2016-Outer):VM 虛擬主機並擔任 Guest Hypervisor。
          第 3 層(WS2016-Inner):Nested VM 虛擬主機並再擔任 Guest Hypervisor。
               第 4 層(WS2016-Innermost):由 Nested VM 再生出的 Nested VM 虛擬主機。

圖 18、由 Nested VM 再生出的 Nested VM 虛擬主機





結語

透過本文的說明及實作演練,相信讀者已經完全了解新一代 Windows Server 2016 雲端作業系統中,原生內建的 Hyper-V 巢狀式虛擬化的強大功能,善用此機制相信能夠有效幫助管理人員只要利用少量的實體伺服器,就能夠建構出複雜的測試研發環境有效減少過往建立測試研發環境時的困擾。

[站長開講] 私有雲規劃與建置實務班 - Hyper-V

$
0
0

課程簡介

  • 熟悉雲端運算定義 五種服務特徵、四種部署模型、三種服務類型。
  • 針對建置企業私有雲網路環境時,該如何規劃 VM 虛擬主機的各種傳輸流量,如 VM 網路服務流量、高可用性遷移流量、容錯移轉流量…等以避免造成傳輸瓶頸。
  • 從針對不同儲存設備類型特性的認識,到私有雲運作環境該如何規劃及計算儲存設備 IOPS 效能,以避免資料傳輸瓶頸產生 VM 虛擬主機運作效能不佳的情況。



課程資訊

日期: 2017/4/29 ~ 2017/6/17
時間: 每週六 09:00 ~ 12:00、13:30 ~ 16:30
地點:國立臺北商業大學 (臺北市中正區濟南路一段321號)
網址: Hyper-V 私有雲規劃與建置實務班


134 期 - VMware 第五代 SDS 技術 vSAN 6.5 新功能快覽

$
0
0

網管人雜誌

本文刊載於 網管人雜誌第 134 期 - 2017 年 3 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。



文章目錄

前言
vSAN 6.5 新功能
          iSCSI 存取
          2 台 vSAN Node 直接對接
          全功能 PowerCLI
          支援新世代硬碟 512e 進階格式
          全版本支援 All Flash
結語





前言

在 2016 年 11 月時,VMware 官方在 VMware VMworld 2016 大會上,正式發佈 VMware vSphere 6.5 最新版本並連同 VMware vSAN 6.5 版本也一起推出。簡單來說,VMware Virtual SAN(簡稱 vSAN),是 VMware 的「軟體定義儲存(Software-Defined Storage,SDS)」解決方案,它能夠將多台 x86 實體伺服器內的「本機硬碟(Local Hard Disk)」互相串連起來,進而將叢集當中所有 vSAN 節點主機的儲存資源整合起來,成為一個巨大的儲存資源池並且能夠互相共同使用。

圖 1、VMware vSAN 運作架構示意圖

事實上,從 VMware vSAN 版本的發佈頻率可知,VMware 官方對於打造 SDDC 軟體定義資料中心內,負責儲存資源的 SDS 軟體定義儲存技術的重視。第 1 代的 VMware vSAN 版本,是在 2014 年 3 月時隨著 vSphere 5.5 Update 1 版本開始內建(vSAN 1.0),接著在隔年推出第 2 代 VMware vSAN 版本,是在 2015 年 3 月隨著當時新版 vSphere 6.0 一同發佈,並直接與 vSphere 版本對齊成為 vSAN 6.0 版本(原訂新版本號應為 vSAN 2.0),在這個版本當中最重要的特色為支援 All Flash 運作架構,同時 vSAN 叢集規模可達到 64 台節點之多。
有關第 1 代 vSAN 運作架構及特色功能的詳細資訊,請參考本刊第 110 期《實戰部署 Virtual SAN套用政策自動化搭配 VM》,而第 2 代 vSAN 運作架構及特色功能的詳細資訊,請參考本刊第 114 期《動手建立 VSAN 6 儲存資源,實戰水平擴充與容錯網域》

接著,半年後於 2015 年 9 月時推出第 3 代的 vSAN 6.1版本,其中最具代表性的功能便是「延伸叢集」(Stretched Cluster)與「支援 2 Nodes」的運作架構。再隔半年後於 2016 年 3 月推出第 4 代 vSAN 6.2版本,在這個版本當中最重要的特色為 All Flash 運作架構,支援「重複資料刪除與壓縮」(Deduplication and Compression)及「RAID 5/6 EC 編碼技術」(RAID 5/6 Erasure Coding)。
有關第 3 代 vSAN 運作架構及特色功能的詳細資訊,請參考本刊第 120 期《VMware VSAN 延伸叢集,實作跨站點同步 HA 複寫》,而第 4 代 vSAN 運作架構及特色功能的詳細資訊,請參考本刊第 124 期《概覽 VMware VSAN 6.2 新功能加強健康狀態監控》

現在,於 2016 年 11 月隨著最新 VMware vSphre 6.5 的發佈也同時推出第 5 代的 vSAN 6.5 版本,此版本中重要的特色功能條列如下:
  • iSCSI 存取:支援將 vSAN 儲存空間以 iSCSI目標的方式提供,讓具備 iSCSI 啟動器功能的伺服器能夠連接及使用 vSAN 儲存空間。
  • 2 台 vSAN Node 直接對接:支援將 2 台 vSAN節點主機直接對接,讓企業及組織當中的分公司或小型企業在建置 vSAN 軟體定義儲存環境時,無須準備昂貴的 10GbE 網路交換器。
  • 全功能 PowerCLI:在新版 vSAN 6.5 運作環境中,包括完整的 PowerCLI Cmdlet 功能讓企業及組織的自動化作業更具可擴充性及易用性。
  • 支援新世代硬體:在新版 vSAN 6.5 運作環境中,支援新世代的 x86 硬體伺服器及相關元件,同時也支援 512e 新式大容量儲存裝置。
  • 全版本支援 All-Flash:現在不管採用哪種 vSAN 6.5 授權版本,都可以使用及建置 vSAN All-Flash 運作架構。
圖 2、VMware Virtual SAN版本演進及新增功能示意圖





vSAN 6.5 新功能

在過去舊版的 vSAN 運作環境內,當 vSphere 管理人員將 vSAN 叢集中的節點主機儲存資源集合之後,儲存資源只能夠以「VMFS 檔案系統」的方式提供及運作 VM 虛擬主機。但是,對於需要採用其它方式使用儲存資源的應用程式或服務來說便會造成困擾,舉例來說,現行企業及組織當中有許多應用程式及服務的儲存資源,便是透過在伺服器中安裝及啟用「iSCSI 啟動器」(iSCSI Initiator)功能,然後透過 TCP/IP 乙太網路連接至「iSCSI 目標端」(iSCSI Target)所提供的 LUN 儲存資源,最後再將應用程式及服務運作在透過 iSCSI 協定所掛載的 LUN 儲存資源當中。

現在,最新版本的 vSAN 6.5 運作架構中,支援將整合後的 vSAN 儲存資源以 iSCSI 目標端的方式,提供給 iSCSI 啟動器掛載 LUN 儲存資源,有效解決過去舊版 vSAN 儲存資源美中不足的困擾。在運作規模方面,每個 vSAN 叢集最多支援提供 1,024 個 LUN儲存資源,並且每個 LUN 儲存資源空間最大為 62 TB,同時每個 vSAN 叢集最多支援提供 128 個 iSCSI 目標

因為 iSCSI 目標所建立的 LUN 儲存資源,在 vSAN 運作架構底層中其實是以 VMDK 虛擬磁碟的方式存在,所以儲存空間與 VMDK 虛擬磁碟的限制相同為 62 TB。



iSCSI 存取

雖然,最終是以 iSCSI 協定提供儲存資源服務,但是整個運作架構底層還是建構在 vSAN 軟體定義儲存技術之上,所以當 vSAN 運作架構成型後 vSphere 管理人員若需要啟用 vSAN iSCSI 目標服務時非常簡單,並且同樣能夠以 vSAN 原有的「儲存原則」(Storage Policy),管控由 vSAN 所提供的 iSCSI LUN 儲存資源。此外,倘若運作環境中需要使用 iSCSI 的 CHAP 身分驗證機制時,那麼 vSAN iSCSI 目標也支援單向 CHAP 及雙向 CHAP 身分驗證機制。

圖 3、VMware vSAN 分散式 iSCSI Target 運作架構示意圖

啟用 iSCSI 目標服務
當 vSphere 管理人員需要啟用 vSAN iSCSI 目標服務時,請登入 vSphere Web Client 管理介面並點選叢集物件後,依序點選「Configure > Virtual SAN > General」項目,然後在 Virtual SAN iSCSI Target Service 組態設定區塊中按下「Edit」鈕,準備啟用 vSAN iSCSI 目標服務。

請在彈出的 Edit Virtual SAN iSCSI Target Service 視窗中,組態設定相關選項並在下拉式選單中選擇採用相關功能:
  • Enable Virtual SAN iSCSI target service: 請勾選此項目,以便啟用 vSAN iSCSI 目標服務。
  • Default iSCSI network:透過下拉式選單指定屆時 vSAN iSCSI 目標服務,要採用哪個 VMkernel Port 進行 iSCSI 儲存流量傳輸作業。
  • Default TCP port:指定 vSAN iSCSI 目標服務的連接埠號,請採用預設標準的 iSCSI 目標端連接埠號 3260 即可。
  • Default authentication:透過下拉式選單指定 vSAN iSCSI 目標服務的身分驗證方式,預設值為 None 不啟用 CHAP 身分驗證機制,倘若需要的話 vSAN iSCSI 目標服務也支援單向 CHAP 及雙向 CHAP 身分驗證機制。
  • Storage policy for the home object:透過下拉式選單指定 vSAN iSCSI 目標服務所要套用的 SPBM 儲存原則。
圖 4、啟用 vSAN iSCSI 目標服務功能及組態設定功能項目

建立 LUN 儲存資源
當 vSAN iSCSI 目標服務順利啟動後,接著便可以建立 iSCSI 目標及 LUN 儲存資源。請在 vSphere Web Client 管理介面中,依序點選「Configure > Virtual SAN > iSCSI Targets」項目後,在 Virtual SAN iSCSI Targets 組態設定區塊中按下「新增」鈕(綠色加號圖示),準備組態設定 vSAN iSCSI 目標及建立 LUN 儲存資源。

請在彈出的 New iSCSI Target 視窗中,組態設定相關選項並在下拉式選單中選擇採用相關功能:
  • Target IQN:系統為 vSAN iSCSI 目標服務隨機產生的 iSCSI Target IQN。
  • Target alias: 管理人員可以為此 vSAN iSCSI 目標服務指定別名以利識別。
  • Target storage policy:指定此 vSAN iSCSI 目標服務所要套用的 SPBM 儲存原則。
  • Network:透過下拉式選單指定此 vSAN iSCSI 目標服務,要採用哪個 VMkernel Port 進行 iSCSI 儲存流量傳輸作業。
  • TCP port:指定 vSAN iSCSI 目標服務的連接埠號,請採用預設的標準 iSCSI 目標端連接埠號 3260 即可。
  • Authentication:透過下拉式選單指定此 vSAN iSCSI 目標服務的身分驗證方式,vSAN iSCSI 目標服務支援單向 CHAP 及雙向 CHAP 身分驗證機制,預設情況下請採用預設值 None 即可。
  • Add your first LUN to the iSCSI target(Optional):請勾選此項目,以便建立及組態設定 LUN 儲存資源。
  • LUN ID:指定此 LUN 儲存空間的 ID 數值。
  • LUN alias:指定此 LUN 儲存空間的別名以利識別。
  • LUN storage policy:指定此 LUN 儲存資源所要套用的 SPBM 儲存原則。
  • LUN size:指定此 LUN 儲存資源的空間大小。
圖 5、組態設定 vSAN iSCSI 目標及 LUN 儲存資源

新增 iSCSI 啟動器存取清單
順利建立 LUN 儲存資源之後,在 Target Details 組態設定區塊中便會看到剛才所建立的 LUN 儲存資源資訊。最後,請在同組態設定區塊中切換到「Allowed Initiators」頁籤後按下「新增」鈕(綠色加號圖示),新增只有哪些 iSCSI 啟動器能夠存取此 vSAN iSCSI 目標所提供的 LUN 儲存資源。

圖 6、組態設定哪些 iSCSI 啟動器能夠存取 vSAN iSCSI 目標所提供的 LUN 儲存資源

現在,只要在允許存取 LUN 儲存資源清單中的 iSCSI 啟動器,便可以透過 TCP/IP 乙太網路順利存取由 vSAN iSCSI 目標所提供的 LUN 儲存資源。值得注意的是,根據 VMware 官方的最佳作法建議,倘若只是要運作 VM 虛擬主機的話,應該保持以原本的 VMFS 檔案系統來運作 VM 虛擬主機即可,倘若是要運作如 MSCS 微軟容錯移轉叢集或 Oracle RAC……等服務,並且規劃使用 IP-SAN(iSCSI)運作架構時才建議使用 vSAN iSCSI 目標服務。

在 vSAN iSCSI 目標服務容錯移轉的部分,因為 vSAN iSCSI 目標服務是完全整合於 vSAN 分散式運作架構,所以當 iSCSI 啟動器端連線時便會連接到 vSAN 目標端的「擁有者」(Owner)節點主機,並且由該台 vSAN 節點主機回應 iSCSI 啟動器端存取負責管理的 LUN 儲存資源。

倘若,原本負責 vSAN iSCSI 目標端擁有者的節點主機突然發生故障事件時,那麼便會由 vSAN 叢集中其它存活的節點主機接手服務,成為 vSAN iSCSI 目標端擁有者並且繼續服務 iSCSI 啟動器,而 iSCSI 啟動器便會連接至新的 vSAN iSCSI 目標端擁有者,繼續使用由 vSAN 叢集所提供的 LUN 儲存資源。

圖 7、vSAN iSCSI目標服務容錯移轉運作架構示意圖



2 台 vSAN Node 直接對接

事實上,在第 3 代 vSAN(vSAN 6.1)運作環境中,便已經支援「2 Node」的 vSAN 節點主機運作環境,也就是只要 2 台 vSAN 節點主機便能建構 vSAN 叢集,這樣的運作架構適用於企業及組織中分公司或小型運作環境時使用。然而這樣的 vSAN 運作架構雖然只有 2 台 vSAN 節點主機,卻仍需要配置 1 台昂貴的 10 Gbps 網路交換器,並且也僅用到該台 10 Gbps 網路交換器的 4 個連接埠而已,倘若考慮預防 SPOF 單點失敗情況的話,則需配置「2 台」10 Gbps 網路交換器,並且每台 10 Gbps 網路交換器只會用到 2 個連接埠而已,這對於建置分公司或小型 vSAN 運作規模的整體預算來說是項吃重的負擔。

現在,全新第 5 代 vSAN 6.5 運作環境中,原有 1 Gbps 負責 VM 虛擬主機網路傳輸的部分可繼續延用,然而原有 10 Gbps 負責 vSAN 節點主機資料同步的部分,正式支援 2 台 vSAN 節點主機透過「交叉式纜線」(Crossover Cables)的方式互相連接,無須再向過往舊版 vSAN 運作環境必須透過 10 Gbps 網路交換器。如此一來,建置分公司或小型 vSAN 運作環境時便無須再採購昂貴的 10 Gbps 網路交換器,因此能夠有效降低分公司或小型 vSAN 運作規模的整體預算,根據 VMware 官方分析調查的結果顯示可以有效降低約「20 %」的投資成本。

在組態設定部分,根據 VMware 官方的最佳作法建議,當在 vSAN 叢集當中的節點主機透過交叉式纜線互相連接之後,在 vSAN 節點主機網路流量規劃的部分,應該要將「vSAN 儲存流量」及「vMotion 遷移流量」分開在不同的 10 Gbps 纜線進行傳輸,以避免儲存或遷移流量互相干擾的情況發生,舉例來說,倘若 2 台 vSAN 節點主機正透過 vSAN 儲存流量網路大量同步資料狀態的情況下,此時又剛好以 vMotion 線上遷移機制大量遷移 VM 虛擬主機的話,那麼有可能會增加 10 Gbps 的網路延遲時間及工作負載。

因此,在 vSAN 節點主機網路流量規劃的部分,除了將儲存或遷移流量分開之外,也同時應設定為互相備援的組態配置以便故障情況發生時,能夠有另 1 個 10 Gbps 纜線進行網路流量的容錯移轉。

圖 8、2 台 vSAN 節點主機透過交叉式纜線連接後,網路流量規劃的組態配置示意圖

此外,在最新的 vSAN 6.5 版本開始,新增將「見證網路流量」(Witness Traffic)分離的功能,解決在 2 台 vSAN 節點主機上必須建立及維護靜態路由的組態設定,降低 vSAN 整體運作架構的複雜度,同時在安全性方面也得到改善,因為 vSAN 儲存網路流量與 WAN 見證網路流量得以完全分離。

因為,負責 vSAN 運作架構的見證虛擬設備不可以運作在 2 台 vSAN 節點主機上,同時一般來說 2 台 vSAN 節點主機的運作架構,通常是運作在企業及組織的分公司或遠端辦公室當中。倘若,分公司或遠端辦公室有透過 WAN 網路與主要辦公室連接時,那麼可以考慮將見證虛擬設備運作在主要辦公室當中,除了節省建置第 3 台 ESXi 主機以運作見證虛擬設備之外,將見證虛擬設備運作在主要辦公室以便統一進行管理。

圖 9、2 台 vSAN 節點主機及見證虛擬設備運作在主要辦公室運作架構示意圖



全功能 PowerCLI

在新版 vSAN 6.5 運作環境中,VMware 官方已經將 vSphere API 抽象化為簡單的 Cmdlet。因此,現在 vSphere 管理人員可以透過 VMware PowerCLI 的方式,以更快速且自動化的方式部署及管理 vSAN 運作環境:
  • 啟用重複資料刪除及壓縮機制。
  • 啟用 vSAN 效能服務。
  • 組態設定 vSAN 健康檢查服務。
  • 建立 All Flash 磁碟群組。
  • vSAN 故障網域管理。
  • 組態設定 vSAN 延伸叢集。
  • 為維護模式選擇正確的資料遷移選項。
  • 檢索儲存空間資訊。
圖 10、透過 VMware PowerCLI 管理 vSAN 運作環境示意圖



支援新世代硬碟 512e 進階格式

過去,舊有的儲存裝置(硬碟)都採用「512 Byte Sector」(又稱為 512n)格式,而新式儲存裝置「進階格式」(Advance Format,AF)則是採用「4,096 Byte Sector」(又稱為 4Kn)格式。現在,從 VMware vSphere 6.5 及vSAN 6.5 版本開始,只要配合最新的「VMFS 6」檔案系統便全面支援以「512e(512B Emulation)」的方式運作,也就是以 512e 模擬 4K 的方式運作配合實體硬碟特性增強整體運作效能。
請注意!! 採用舊版 vSAN 或 VMFS 檔案系統的話,不支援以 512e 的方式運作所以採用 512e 的儲存裝置時,可能會引發或造成潛在的運作效能問題。有關 512 / 4,096 Byte Sector 詳細資訊請參考 VMware KB 2091600

圖 11、vSAN 6.5 支援新式進階格式 512e 儲存裝置示意圖

簡單來說,「磁區大小」(Sector Size)是影響作業系統及 Hypervisor 虛擬化管理程序運作效能的關鍵,因為它是儲存裝置(硬碟)最底層 I/O 的基本單位。因此,新式 512e 與舊有 512n 相較之下,雖然新式 512e 邏輯磁區大小也是 512 Byte,但是實體磁區大小則是 4,096 Byte 這是二者間最大的不同,所以在資料的「讀取-修改-寫入」(Read-Modify-Write,RMW)行為上,新式的 512e 與舊有的 512n 相較之下,會減少許多在資料 RMW 行為時效能懲罰的部分。

雖然,原生 4Kn 不管在邏輯磁區大小或實體磁區大小都是 4,096 Byte,但是目前的情況為並非所有儲存裝置、作業系統及 Hypervisor 虛擬化管理程序都完全支援。在下列表格中,為讀者們條列舊有 512n 及新式 512e 和原生 4Kn 在邏輯及實體磁區大小上的運作差異:

請注意!! 目前最新版本的 VMware vSphere ESXi 6.5 及 vSAN 6.5 運作環境中,仍尚未支援原生 4K 儲存裝置。
在目前儲存裝置市場中,支援新式進階格式 512e的儲存裝置空間從 300 GB 到 10 TB 都有,並且通過 VMware vSAN 6.5 版本硬體認證的 512e 硬碟約有 230 個型號,不同 OEM 硬碟供應商所通過的數量不定。建議在使用及建置前應向硬碟供應商再次確認,所使用的硬碟是否支援新式進階格式 512e,以確保屆時建置的 VMware vSAN 6.5 運作效能及穩定性。

圖 12、各家 OEM 廠商通過 VMware vSAN 6.5 版本硬體認證的 512e 硬碟統計圖



全版本支援 All Flash

雖然,VMware vSAN 從第 2 代 vSAN 6.0 版本開始便支援 All Flash 運作架構,然而在過去的 vSAN 軟體授權版本當中,至少要採用「進階版或企業版」的 vSAN 軟體授權才能夠使用 All Flash 的運作架構及特色功能。

現在,最新的 VMware vSAN 6.5 版本當中,不管採用哪種 vSAN 軟體授權版本皆支援使用 All Flash 運作架構。因此,即便是由 2 台 vSAN 節點主機所建構的小型 vSAN 運作環境,也能夠使用 All Flash 的硬體運作架構,為需要高 IOPS 儲存效能的分公司或小型 vSAN 環境提供解決方案。

值得注意的是,雖然開放「標準版」及「ROBO 版」支援採用 All Flash 硬體架構來建立 vSAN 運作環境,但是在 All Flash 運作架構中進階特色功能,例如,「重複資料刪除及壓縮」、「RAID5/6 Erasure Conding」特色功能,仍需要採用「進階版或企業版」vSAN 軟體授權才能夠使用。

此外,如果要讓建置的 vSAN 運作架構支援「延伸叢集」或「IOPS 儲存效能管控」特色功能時,那麼只能採用「企業版」的 vSAN 軟體授權才能夠使用這 2 項進階功能特色。

圖 13、VMware vSAN 6.5 軟體授權可使用特色功能示意圖





結語

透過本文的說明及實作相信讀者已經了解,在第 5 代最新 vSAN 6.5 版本當中有哪些特色功能,能夠幫助企業及組織建立更靈活、高擴充性、高可用性的 SDS 軟體定義儲存運作環境。

同時,對於企業及組織的分公司或小型企業運作環境來說,以往在建立虛擬化環境時令人困擾的初期建置成本問題,在新版 vSAN 6.5 當中透過交叉式纜線的方式解決僅 2 台 vSAN 節點主機,就必須採購昂貴 10Gbps 網路交換器的問題。

VMware SDDC 4.0 正式發行

$
0
0

前言

2017 年 3 月 2 日 VMware 官方正式發佈 SDDC 4.0 (Software-Defined Data Center 4.0),也就是 VMware 官方在整個「軟體定義資料中心」整個完整的 IT 基礎架構。下列為 SDDC 4.0 軟體定義資料中心新功能介紹影片:




SDDC 4.0 解決方案

整個 SDDC 4.0 解決方案架構的產品版本,包含 VMware vSphere Enterprise Plus、vSAN Standard or Higher、vSphere Replication、Site Recovery Manager Enterprise、NSX for vSphere Enterprise、vRealize Suite……等,詳細產品資訊及版本如下:




SDDC 4.0 運作架構

有關 SDDC 4.0 架構海報共分為六大區塊:

  • Logical Components Architecture:整個 SDDC 4.0 的邏輯框架,包含雙中心軟體定義資料中心、vCenter Server / PSC 負載平衡、跨區域/跨 vCenter 管理 NSX 軟體定義網路環境、vRealize Suite 自動化……等。
  • Core and Pod Architecture:說明整個 SDDC 4.0 內所設計的 Pods、Leaf-Spine Network、Host Connectivity……等,以便為所部署的軟體定義資料中心提供可擴充的 Blocks 運作架構。
  • Distributed Logical Networking and Application Virtual Networks:在 SDDC 4.0 運作架構中整合 VMware NSX 虛擬網路架構,以便為 SDDC 相關網路服務提供完整的虛擬網路解決方案。
  • Storage:在 SDDC 4.0 運作架構中,儲存資源的部分採 vSAN 及 NFS 提供給上層應用程式或服務使用。VMware 官方建議,請採用 VMware vSAN Ready Nodes來建立 vSAN 儲存資源。
  • Pods and Clusters:在 SDDC 4.0 運作架構中,如何讓 Pod、解決方案、分散式邏輯路由互相整合及協同運作。
  • Region Protection and Disaster Recovery: 整合  vRealize Automation、vRealize Orchestrator、vRealize Operations、SRM 及 NSX……等,以便提供 SDDC 4.0 運作架構區域保護及災難復原機制。






參考資源

Scrum Journey (1) - Scrum 旅程開始

$
0
0

前言

Scrum是敏捷軟體開發的方法學,透過快速「疊代」(Iteration) 增量式進行軟體開發流程。Scrum 的原意是橄欖球運動中爭球的意思。


下列為學習 Scrum 需要作的事前功課,以便你能大概了解 Scrum / Agile 的精神及概要:



敏捷精神 (3 大支柱)
  • 透明 (Transparency)
  • 檢驗 (Inspection)
  • 調適 (Adaptation)


Sprint (Iteration)
  • 通常 2~4 週。
  • 太短,活動 overhead 太高。
  • 太長,反應變慢,也可能造成浪費,衝刺容易無力。


Scrum 活動
  • Sprint Planning
  • Daily Meeting
  • Sprint Demo / Review Meeting
  • Retrospective Meeting



Waterfall vs Agile

過往傳統的軟體開發方法為「瀑布式開發」(Waterfall),很容易開發時間長達 1、2 年或以上除了無法達到 Time to Market 之外也有很多缺點。


所以,軟體開發採用瀑布式的話通常就會落入下列結果。


「敏捷式開發」(Agile) 便可以有效改善過往「瀑布式開發」(Waterfall) 的缺點。比較圖如下:


因為,軟體開發的方式從「早期無計畫 > 瀑布式開發 (Waterfall, CMMI …etc) > 敏捷開發 (Aglie)」。詳細資訊請參考董大偉老師最近的連載系列文章 .NET Walker: The DevOps Journey – Index




參考資源

Scrum Journey 學習記錄

S2D 使用 100GbE iWARP 的儲存效能輸送量

$
0
0

前言

在去年 Microsoft Ignite 2016大會上,在 Meet Windows Server 2016 and System Center 2016議程中展示 S2D (Storage Spaces Direct) 的儲存效能表現。在當時展示的運作環境中,每台 S2D 叢集節點配置的是 Chelsio T580CR 40GbE (iWARP)網路介面卡,整個 S2D 叢集共有 16 台節點主機,最後打出高達「600 萬 IOPS」的儲存效能表現。




S2D 支援 10 / 25 / 40 / 100 GbE 網路環境

現在,Microsoft S2D軟體定義儲存技術已經支援 10 / 25 / 40 / 100 GbE網路環境。同時,Chelsio也已經發行 T6 系列 100GbE的網路介面卡。




S2D 使用 100GbE iWARP 的儲存效能輸送量

因此,Microsoft 官方也為 S2D 叢集節點主機配置 Chelsio T6 100GbE網路介面卡,來測試在這樣的網路環境中 S2D 的儲存效能輸送量為多少。下列便是此次的 S2D 測試環境說明:

4 台 S2D 叢集節點主機 (Dell R730xd),每台硬體配置如下:

  • CPU: E5-2660 v3 2.60 GHz *2 (每顆 10 Cores / 20 執行緒)。
  • Memory: 256 GB DDR4 2133 MHz (16 GB * 16 DIMM)。
  • Storage: 3.2TB NVME Samsung PM1725 *4 (PCIe 3.0 x8)。
  • NIC: Chelsio T6 100GbE (Dual Port PCIe 3.0 x16)。
  • Cabling: QSFP28 Passive Copper Cabling。
  • BIOS Power: Performance Power Plan
  • OS: Windows Server 2016、S2D (Storage Spaces Direct)、High Performance Power Plan。
  • DCB 組態設定:因為採用的 Chelsio T6 100GbE 為 RDMA 中的 iWARP,所以無須組態設定 DCB (PFC)。

工作負載

  • DISKSPD
  • VM Fleet
  • 80 VMs (16 GB VHDX),每台 S2D 叢集節點運作 20 Azure A1 Sized VMs (1 vCPU、1.75 GB RAM)。
  • 512 KB 100% Random Read (每台 VM 的 Queue Depth 為 3)。


IOPS 輸送量效能測試結果

下列便是採用 VMFleet 進行 IOPS 輸送量效能測試結果,從結果數據中可以看到總頻寬輸送量高達「83 GB/s」,也就是說每台 VM 虛擬主機使用超過 1GB/s的輸送量,同時整個 Read Latency 也「< 1.5 ms」




參考資源


135 期 - 善用 Credential Guard 機制力阻雜湊及傳遞票證攻擊

$
0
0


網管人雜誌

本文刊載於 網管人雜誌第 135 期 - 2017 年 4 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。



文章目錄

前言
何謂 PtH 與 PtT 攻擊?
什麼是 Credential Guard?
          Credential Guard 環境需求
實戰 Credential Guard
          未啟用 Credential Guard
          啟用 Credential Guard
          確認 Credential Guard 安全性機制執行中
          測試 Credential Guard 防護機制
結語





前言

過去,雖然企業及組織在整個 IT 基礎架構中,已經部署許多增強安全性的相關運作機制或硬體設備,除了確保線上營運服務不停止之外也保護企業機敏資料不外洩,然而隨著時間的推移駭客攻擊企業及組織的方法也不斷演變及翻新,惡意攻擊的方式也從過往正面對決改採潛伏並轉而朝向最弱環節下手。簡單來說,相較於企業及組織內強調高安全性高效能的線上營運伺服器來說,惡意攻擊方式則改為朝向安全防護相對薄弱的使用者端電腦下手。

在現代化 IT 基礎架構中,為了達到統一且集中式管理的使用者身分驗證機制,在企業及組織當中便會建置目錄服務以達成「單一登入」(Single Sign On,SSO)的目的,一般來說較廣為採用的目錄服務有 Active Directory、OpenLDAP……等,以便使用者只要登入並通過使用者身分驗證機制之後(也就是通過所謂的3A程序),那麼就能順利存取企業及組織內部中各式各樣的服務了。
所謂 3A程序便是指驗證(Authentication)、授權(Authorization)、稽核(Accounting)。簡單來說,「驗證」是指系統能夠正確識別登入的使用者帳號是代表誰,而「授權」則是負責確認使用者登入後能否啟用或執行某項工作任務,至於「稽核」則是追踪使用者在登入後的各項操作及使用情況並進行記錄。

圖 1、現代化 IT 運作架構中,使用者必須存取各式各樣的應用服務才能滿足需求





何謂 PtH 與 PtT 攻擊?

雖然,企業及組織透過目錄服務達到 SSO 單一登入,讓使用者只要通過使用者身分驗證程序後便能使用區網內的各項服務。然而,在資訊攻防上面「操作便利性」與「安全性」永遠處於天秤之間不同的兩端,因此針對 SSO 單一登入的惡意攻擊方式便應運而生,也就是大家耳熟能詳的「傳遞雜湊」(Pass-the-Hash,PtH)「傳遞票證」(Pass-the-Ticket,PtT)攻擊。

在本文一開始,我們曾經提到現代化的惡意攻擊方式,已經改為朝向安全防護相對薄弱的使用者端電腦下手,舉例來說,典型的 PtH / PtT 惡意攻擊方式,便是由惡意攻擊者先透過惡意電子郵件、惡意網站、使用者端已經發佈或尚未修補的漏洞……等方式,進而取得使用者端主機的管理者權限。

接著,惡意攻擊者便會利用取得的管理者權限,從使用者電腦主機硬碟內的 Windows 作業系統中,讀取 SAM Database 內容以便取得使用者密碼的雜湊值,或者透過取得的管理者權限直接讀取儲存於記憶體中的「認證」(Credentials)資訊。

圖 2、典型的傳遞雜湊及傳遞票證攻擊方式(第一階段)

可能會有讀者感到困惑,即便惡意攻擊者取得使用者端主機的管理者權限,一般來說使用者在企業及組織的 Active Directory 網域環境中,通常僅具備一般網域使用者權限而已理論上危害範圍不致過大才對。是的,取得一般使用者端電腦主機的管理者權限,通常只是惡意攻擊方式的第一階段,接下來我們將要討論惡意攻擊的第二階段。

在上述的範例情境中,惡意攻擊者已經取得企業及組織中某台使用者端主機的管理者權限,接著便會透過攻擊成功所偷來的認證資訊,嘗試假冒這位使用者的身分再去攻擊區域網路中其它使用者端主機。倘若,使用者端主機的管理者帳號(例如,本機 Administrator),在區域網路中其它使用者端主機也採用「相同」的密碼時,因為 NT 密碼雜湊是採用未加密的 MD4 雜湊演算法,所以惡意攻擊者便可以橫向的輕易侵入其它台使用者端主機。

接著,惡意攻擊者將採用上述相同的入侵手法不斷攻擊區網中其它台使用者端主機,同時嘗試取得 Active Directory 網域環境中,權限等級更高的特權帳號或服務帳號。倘若,剛好使用者端主機發生其它問題請 MIS 人員協助處理,然而 MIS 人員為求方便而使用 Active Directory 網域特權帳號登入時,那麼惡意攻擊者便能進而取得儲存於使用者端記憶體內的網域特權帳號密碼。

一旦被惡意攻擊者取得 Active Directory 網域特權帳號(例如,Domain Administrator),或其它具有相同權限等級的使用者帳號時,那麼惡意攻擊者便具有 Active Directory 網域的管理權限,並且還能更進一步危害與此網域信任的其它網域。

即便惡意攻擊者無法取得 Active Directory 網域特權帳號,仍然可以透過由一般使用者端主機所偷到的使用者權限,針對企業及組織 IT 基礎架構中相關服務進行存取,舉例來說,假冒該使用者帳號存取檔案伺服器內的檔案,導致企業及組織的機敏資料外洩等資安事件。

圖 3、典型的傳遞雜湊及傳遞票證攻擊方式(第二階段)





什麼是 Credential Guard?

為了能夠有效阻擋使用者密碼遭受未經授權的認證竊取攻擊,從 Windows 10 及 Windows Server 2016 版本開始,導入新的安全性機制稱之為「Credential Guard」,它會使用虛擬式安全性的方式來隔離使用者帳號的密碼,因此只有具備特殊權限的系統軟體才能夠存取它們,同時透過保護 NTLM 密碼雜湊以阻擋傳遞雜湊攻擊,或保護 Kerberos 票證以阻擋傳遞票證這種未經使用者授權存取的認證竊取攻擊。
請注意,在 Windows 10 版本的部分,必須採用Windows 10「企業版、教育版」才支援 Credential Guard 安全性功能。

在過去舊版的 Windows 作業系統中,會將登入的使用者帳號密碼儲存於「本機安全性授權」(Local Security Authority,LSA),而 LSA 會將作業系統所要使用的密碼儲存於處理程序記憶體當中。因此,惡意攻擊者只要透過偷到的管理者權限,便能查看處理程序記憶體當中所儲存,所有曾經登入過此台主機的使用者帳號及密碼。

現在,Credential Guard 安全性機制透過「虛擬式安全性」(Virtualization-Based Security,VBS)方式,將 LSA 中的密碼進行隔離並使用遠端程序呼叫的方式與新的運作元件溝通,隔離的 LSA 執行程序所儲存的資料由虛擬式安全性機制所保護,無法由作業系統其它的部分進行存取。簡單來說,VBS 提供安全核心與一般作業系統隔離的功能,所以不會暴露一般作業系統中的弱點及零時差漏洞。

因此,基於安全性考量隔離的 LSA 執行程序不會載入任何裝置驅動程式,只會載入安全性所需的作業系統「二進位檔案」(Binary File)而已,並且這些二進位檔案都使用虛擬化安全性信任的憑證所簽署的,這些簽章會先經過驗證程序並通過驗證後才會保護運作環境中的檔案。

圖 4、透過 VBS 虛擬式安全性運作機制隔離 LSA 的運作示意圖



Credential Guard 環境需求

在開始部署 Credential Guard 安全性機制之前,我們先了解部署 Credential Guard 機制所需要的軟體、硬體及韌體等環境需求。舉例來說,在硬體的部分建議採用具備「信賴平台模組」(Trusted Platform Module,TPM)的安全性晶片,但事實上若主機未配置或未支援 TPM 2.0安全性晶片的話,仍然能夠啟用 Credential Guard 安全性機制,只是 Credential Guard 用來加密的安全性金鑰無法受到 TPM 安全性晶片保護,因此安全性防護力較弱仍有被攻擊成功的可能性。

基礎安全性保護環境需求
  • 硬體: 首先,必須採用具備「64 位元」的 CPU 處理器,並支援 Intel VT-x/EPT 或 AMD-V/NPT等硬體輔助虛擬化功能,那麼 Windows Hypervisor 才能提供 VBS 虛擬化安全性機制。同時,建議配置「TPM 2.0」安全性晶片,以便為 VBS 加密金鑰提供保護及防範惡意存取 BIOS 等攻擊行為。
  • 韌體:具備 UEFI 安全開機及韌體更新功能的「UEFI 2.3.1.c 或後續版本」,透過 UEFI 安全開機以確保裝置只會使用已授權的程式碼開機,並配合韌體更新機制修補安全性弱點,以便充分防止主機遭受 Bootkit 及 Rootkit 攻擊行為。
  • 軟體: Windows 10 僅「企業版、教育版」支援、Windows Server 2016 及 Windows Enterprise IoT。

請注意,倘若 Windows Server 2016 運作 DC 網域控制站的話,那麼便不支援 Credential Guard 安全性機制,僅支援另一項安全性機制 Device Guard 而已。

事實上,上述僅列出 Credential Guard 安全性機制的基礎環境需求而已,倘若企業及組織需要更高等級的安全性機制時,那麼建議可以採用上述基礎環境需求搭配下列進階安全性保護環境需求,即可大幅增強 Credential Guard 可提供的安全性等級。

進階安全性保護環境需求
  • 硬體:採用支援「Intel VT-D 或 AMD Vi IOMMU」硬體輔助虛擬化功能,以便增強系統對於記憶體攻擊的抵擋及復原能力。
  • 韌體:採用支援「Secure Boot」、「Secure MOR」、「HSTI」、「WSMT」……等,確保只有經過驗證的平台 BIOS 系統管理員可以變更 BIOS 設定,並且防止進階記憶體攻擊、抵擋惡意程式碼、從系統韌體減少 VBS 的受攻擊面、封鎖其它針對 SMM 的安全性攻擊 ……等。





實戰 Credential Guard

了解 Credential Guard 安全性機制的運作原理及環境需求後,接下來首先為讀者展示倘若主機未啟用 Credential Guard 安全性機制,但是遭受傳遞雜湊及傳遞票證攻擊時將會發生什麼情況,接著將實際演練如何啟用 Credential Guard 安全性機制,以及啟用後該如何確認 Credential Guard 安全性機制已經正確運作。在啟用 Credential Guard 安全性機制的部分,可以採用 GPO 群組原則、修改登錄檔、Device Guard 及 Credential 硬體準備工具……等方式來進行啟用作業。



未啟用 Credential Guard

那麼,我們來嘗試模擬在未啟用 Credential Guard 安全性機制之前,當 Windows 10 及 Windows Server 2016 作業系統,遭受本文所描述的傳遞雜湊及傳遞票證攻擊時會發生什麼情況。在本文測試環境中,我們採用由法國知名駭客 Benjamin Delpy透過 C 語言所撰寫的 Mimikatz 工具,模擬傳遞雜湊及傳遞票證身分竊取攻擊行為。

值得注意的是,在 Windows 10 及 Windows Server 2016 作業系統運作環境中,請在下載及執行 Mimikatz 工具之前,將預設內建的「Windows Defender」防毒防駭工具關閉,否則一旦下載 Mimikatz 工具後便會立即被 Windows Defender 移除。

圖 5、關閉 Windows 預設內建的 Windows Defender 防毒防駭工具

順利關閉內建的 Windows Defender 防毒防駭工具後,請透過「以系統管理員身分執行」的方式開啟命令提示字元,接著執行 Mimikatz 工具後首先鍵入「Privilege::Debug」指令,以便確認 Mimikatz 工具已正常啟動並能順利運作,接著鍵入「sekurlsa::msv」「sekurlsa::logonpasswords」便會列出,在這台主機中 LSA 儲存於記憶體內所有登入過的使用者帳號或服務帳號的密碼資訊。

如圖 6 所示在順利執行 Mimikatz 工具後,可以看到目前的主機名稱為 HV01,登入的管理者帳號 Administrator 以及管理者帳號的 SID,在下方便直接看到管理者帳號的 NTLM 雜湊值,也就是本文一開始提到 NT 密碼雜湊採用未加密的 MD4 雜湊演算法。
倘若採用的是 Windows 10 或 Windows Server 2016 之前的版本,那麼透過 Mimikatz 工具甚至「直接」看到密碼為「明文」而非 NTLM 雜湊值。
圖 6、透過 Mimikatz 工具查看主機記憶體內容中所有使用者帳號密碼資訊

或許有些讀者會感到困惑,透過 Mimikatz 工具看到管理者帳號的 NTLM 雜湊值會有什麼影響 ?事實上,隨著惡意攻擊種類及方式不斷增加的情況下,只要取得使用者帳號的 NTLM 雜湊值之後,惡意攻擊者只要透過「NTLM 雜湊值解密程式」(NTLM Hash Decrypter),便可以在幾小時甚至幾分鐘之內解密出使用者密碼。
原則上密碼字元在 8 字元以下普通強度的使用者密碼,只要幾分鐘之內便可以順利解密。即便密碼字元在 14 字元並採用高強度的使用者密碼,也只要幾小時之內便可以順利解密。



啟用 Credential Guard

了解惡意攻擊所造成的安全性風險後,接著我們來看看啟用 Credential Guard 安全性機制後,是否能夠有效防護傳遞雜湊及傳遞票證攻擊。在此次實作的 x86 伺服器中,硬體的部分採用 64 位元的 CPU 處理器並支援相關硬體輔助虛擬化功能,同時也配置 TPM 2.0信賴平台模組安全性晶片。在韌體的部分,採用具備 UEFI 安全開機及韌體更新功能的 UEFI 2.4.0。在軟體的部分,則是採用 Windows Server 2016 DataCenter 版本。

圖 7、順利在裝置管理員中看到信賴平台模組 2.0

符合 Credential Guard 安全性機制的運作環境準備完畢後,在本文實作環境中我們採用 GPO 群組原則的方式啟用 Credential Guard。請依序點選「開始 > 執行 > 鍵入 gpedit.msc > 確定」,系統將會開啟本機群組原則編輯器視窗,接著請依序點選「電腦設定 > 系統管理範本 > 系統 > Device Guard」項目,然後開啟右方「開啟虛擬化型安全性」項目。

圖 8、準備透過 GPO 群組原則啟用 Credential Guard 安全性機制

在開啟虛擬化型安全性視窗中,預設值為尚未設定請點選至「已啟用」項目,接著在下方選取平台安全性層級下拉式選單中,可以看到安全開機或安全開機及 DMA 保護項目,在本文實作環境中選擇至「安全開機」項目。最後,在 Credential Guard 設定下拉式選單中,預設值為已停用另外 2 個選項為在不含鎖定情況下啟用、在包含 UEFI 鎖定的情況下啟用,在本文實作環境中選擇至「在不含鎖定情況下啟用」項目。
在選取平台安全性層級選項中,倘若選擇至「安全開機及 DMA 保護」項目的話,那麼請確保主機必須支援「Intel VT-D 或 AMD Vi IOMMU」硬體輔助虛擬化功能才行。
圖 9、透過 GPO 群組原則啟用 Credential Guard 安全性機制

組態設定完畢回到本機群組原則編輯器視窗中,將會發現開啟虛擬化型安全性項目的狀態,由先前的「尚未設定」轉換成為「已啟用」。接著,為了能夠快速讓組態設定套用生效,請開啟以系統管理員身份開啟命令提示字元後,鍵入「gpupdate /force」指令然後重新啟動主機。



確認 Credential Guard 安全性機制執行中

順利啟用 Credential Guard 安全性機制並重新啟動主機後,首先請確認 Credential Guard 安全性機制已經順利運作並執行中,請依序點選「開始 > 執行 > 鍵入 msinfo32.exe > 確定」,系統將會開啟系統資訊視窗,點選「系統摘要」項目後在右方窗格中下拉至底即可看到啟用資訊,依據本文實作環境的組態設定後,在啟用 Credential Guard 安全性機制的部分將會看到下列組態設定值:

  • Device Guard 虛擬化型安全性: 執行中
  • Device Guard 必要的安全性屬性: 基底虛擬化支援,安全開機
  • Device Guard 可用的安全性屬性: 基底虛擬化支援,安全開機,DMA 保護
  • Device Guard 安全性服務已設定: Credential Guard
  • Device Guard 安全性服務執行中: Credential Guard

圖 10、確認 Credential Guard 安全性機制是否順利啟用並執行中

倘若最後一項「Device Guard 安全性服務執行中」空白的話,可以稍等 2 ~ 3 分鐘後重新整理視窗內容,倘若仍為空白的話建議再次重新啟動主機,以確保 Credential Guard 安全性機制啟用並執行中。



測試 Credential Guard 防護機制

確認 Credential Guard 安全性機制順利運作後,在執行 Mimikatz 工具再次模擬惡意攻擊行為之前請再次確認,是否已經關閉內建的 Windows Defender 防毒防駭工具。
因為預設情況下,重新啟動 Windows 主機之後,將會自動帶起 Windows Defender 防毒防駭工具。

一切準備就緒後,請透過「以系統管理員身分執行」的方式開啟命令提示字元,接著執行 Mimikatz 工具以便再次模擬惡意攻擊行為。同樣的,請先鍵入「Privilege::Debug」指令,以便確認 Mimikatz 工具已正常啟動並能順利運作,接著鍵入「sekurlsa::msv」「sekurlsa::logonpasswords」指令,便會列出此台主機中 LSA 儲存於記憶體內的使用者帳號或服務帳號的密碼資訊。

但是,這台主機已經受到 Credential Guard 安全性機制的保護,所以可以看到 Mimikatz 工具執行後,仍然可以看到目前的主機名稱為 HV01,登入的管理者帳號 Administrator 以及管理者帳號的 SID,但是這次在下方便可以看到有一行關鍵字「LSA Isolated Data:NtlmHash」,然後原本應該顯示 NTLM 雜湊值的部份,變成「Unk-Key」「Encrypted」2 行經過加密金鑰保護的亂數,順利阻擋傳遞雜湊及傳遞票證惡意攻擊行為。

圖 11、Credential Guard 安全性機制順利運作及阻擋惡意攻擊

值得注意的是,惡意攻擊的方式及手法隨著時間的推移不斷翻新,因此管理人員並非只要啟用 Credential Guard 安全性機制就能高枕無憂,舉例來說,企業及組織的 IT 管理人員,已經為區網中的伺服器及使用者端主機啟用 Credential Guard 安全性機制,然而使用者端主機卻因為遭受社交攻擊而被植入鍵盤記錄木馬程式時,那麼即便啟用 Credential Guard 安全性機制也是無法防護的,因為惡意攻擊者將可以透過植入的鍵盤記錄木馬程式,輕鬆且直接獲得使用者所鍵入的密碼。





結語

透過本文的說明及實作演練,相信讀者已經完全了解在 Windows 10 及 Windows Server 2016 環境中,新增的 Credential Guard 安全性機制,確實能夠阻擋傳遞雜湊及傳遞票證惡意攻擊,有效提升儲存於主機記憶體內的使用者密碼防護力。

建置 S2D 環境 RDMA 是否為必備條件?

$
0
0

前言

簡單來說,在新一代 Windows Server 2016雲端作業系統中,倘若 IT 管理人員需要透過 S2D (Storage Spaces Direct)技術建構 SDS 軟體定義儲存環境。在相關教學文章及影片中,你應該會不斷看到強調支援「RDMA (Remote Direct Memory Access)」技術,主要原因在於 RDMA 技術能夠有效「降低 S2D 叢集節點 CPU 工作負載」同時「降低延遲時間」

然而,大家對於 RDMA 運作環境相對陌生,因此許多 IT 管理人員一開始的困惑便是,那麼「不支援」RDMA 的環境能否運作 Windows Server 2016 的 S2D 技術? 答案是,S2D 即便在不支援 RDMA (走一般的 TCP/IP乙太網路) 的環境下仍能正常運作。



測試環境及測試工具

微軟官方採用同一批軟硬體環境,並且進行「RDMA Enabled」以及「RDMA Disabled」的測試,同時整理出 2 種運作環境的儲存效能,以便 IT 管理人員能夠了解這 2 種運作環境之間的效能差異。

測試環境 (4 Nodes S2D Cluster)

下列為 4 Nodes S2D Cluster 測試環境中,每台 S2D 叢集節點主機的硬體配置:

測試工具

  • DISKSPD
  • 4K 100% Random I/O (70% Read / 30% Write)。
  • 10 Threads (Queue Depth 4 per Thread,Total is 40)。
  • 10 GB file per Thread (Total is 100 GB)。

測試結果

下列圖表便是分享整理「RDMA Enabled」「RDMA Disabled」的測試結果,歸納重點如下:
  • 倘若,你希望 S2D 有良好的儲存效能表現。那麼,你應該要讓 S2D 運作在 RDMA Enabled環境。
  • 此次的實作環境中 RDMA Enabled,能夠提升 28% IOPS、27% CPU 效能、36% Write Latency、28% Read Latency
  • 即便是 RDMA Disabled環境 (TCP/IP 乙太網路),仍能夠提供 145,500 IOPS的儲存效能。



此外,也可以參考去年 Microsoft Ignite 2016大會中 BRK3088 - Discover Storage Spaces Direct, the ultimate software-defined storage for Hyper-V議程。


在該議程中的測試環境,也有分別測試「RDMA Enabled」「RDMA Disabled」的效能測試結果 (節省 1/3的 CPU 工作負載、達到提升 2 倍的 IOPS 效能表現):





參考資源

Horizon 7 佈建失敗 - 無法解密儲存在自訂規格中的密碼

$
0
0

Q. 在 VMware Horizon 7 虛擬桌面運作環境中無法佈建,並出現「Customization failure: vCenter Server 無法解密儲存在自訂規格中的密碼」錯誤訊息?

Error Message:
在 VMware Horizon 7 桌面虛擬化運作環境,當嘗試佈建 VDI 虛擬桌面過一陣子之後便會出現「Customization failure: vCenter Server 無法解密儲存在自訂規格中的密碼」錯誤訊息?


Ans:
簡單來說,這個問題發生的原因在於 vCenter Server 無法存取,當初自訂 VDI 範本進行 Sysprep 內的密碼。因此,請登入 vSphere Web Client 管理畫面後,至「自訂規格管理員」管理介面找到佈建 VDI 虛擬桌面會使用到的 Sysprep 組態設定,然後至「系統管理員密碼」項目重新進行設定後,便可以順利佈建成功了。


參考資源:

vSphere 6.5 支援 RDMA (RoCE v1 及 RoCE v2)

$
0
0

前言

從新版 vSphere 6.5 開始,正式支援 RDMA (Remote Direct Memory Access)當中的 RoCE (RDMA over Converged Ethernet),以便於達到「Kernel Bypass、Zero Copy、CPU Offloading」的目的。在目前的 RoCE 運作模式中,分別有 RoCE v1RoCE v2等 2 種運作模式:

RoCE v1 (Layer 2)

運作在 Ehternet Link Layer (Layer 2) 所以 Ethertype 0x8915,所以正常的 Frame 大小為 1,500 bytes而 Jumbo Frame 則是 9,000 bytes

RoCE v2 (Layer 3)

運作在 UDP / IPv4 或 UDP / IPv6 之上 (Layer 3),採用 UDP Port 4791進行傳輸 。因為 RoCE v2 的封包是座落在 Layer 3 之上可進行路由,所以有時又會稱為「Routable RoCE」或簡稱「RRoCE」
圖、RoCE v1 及 RoCE v2 封包格式示意圖



RDMA 的功用

簡單來說,透過 RDMA 可以達到「Kernel Bypass、Zero Copy、CPU Offloading」的目的。一般來說,採用 RDMA 與一般乙太網路 TCP/IP 相較之下,效能大約可以提升 30% ~ 40%或以上。

圖、採用一般乙太網路 TCP/IP 進行傳輸

圖、採用 RDMA 進行傳輸

現在,vSphere 6.5 支援 PVRDMA (Para-Virtual Remote Direct Memory Access)機制,簡單來說就是讓 VM 虛擬主機可以使用 ESXi 主機所配置的 RDMA 介面卡及功能,達到 Kernel Bypass、Zero Copy、CPU Offloading 的目的 (目前 vSphere vMotionSnapshot皆受益)。

目前,必須符合下列相關條件才能順利運作 PVRDMA功能:


最後,我個人的疑問是 VMware vSAN是否已經支援 RDMA 特色功能了? 就目前所得到的資訊來看,目前 vSAN 似乎仍支援 RDMA 特色功能。至於 vSphere 6.5 是否支援另一個主流 RDMA (iWARP),目前所得到的資訊來看似乎也仍支援。

參考資源

VMware vSAN 6.6 Journey (1) - 新功能簡介

$
0
0

前言

日前 (2017/4/18),VMware 官方正式發佈 vSAN 第六代 VMware vSAN 6.6 Release 資訊。



雖然距離上一版 vSAN 第五代 VMware vSAN 6.5 發佈才間隔短短五個月。但是,這次發佈的 vSAN 第六代總共新增 23 項特色功能!!

圖、VMware vSAN 原生超融合安全性

圖、VMware vSAN 提供 SDDC 中深度整合的安全性機制


vSAN 6.6 新功能簡介

由於新功能太多,因此本篇將是 vSAN 6.6 總共新增 23 項特色功能的概要說明。後續,將會把每項特色功能拆解後再依續深入剖析各項機制。首先,我們可以將這些新功能區分為五大類,分別是「安全、管理、部署、可用性、效能」

【安全性】(Security)

在安全性方面有 2 項新功能分別是「Native Encryption」「Compliance」,主要在 VMware SDDC 軟體定義資料中心的願景中,VMware vSAN 擔任 SDS 軟體定義儲存的重要角色。因此,確保儲存資源的安全性機制將相形重要,在新版 vSAN 6.6 當中無須依靠加密磁碟 (SED) 就可以達成靜態資料加密解決方案,有效保護企業及組織當中的機敏資訊。

圖、啟用 vSAN 加密機制


【管理】(Management)

在新版 vSAN 6.6 當中關於管理的部分共有 9 項新功能 (如下所示)。同時,在過往的 vSAN 版本當中,整個 vSAN 運作環境仍圍繞在 vCenter Server 為主要管理平台。現在,新版 vSAN 6.6 已經可以在 vCenter Server 離線時透過 VMware ESXi Host Client進行管理,不過在哪一台 vSAN 叢集節點都可以查看健康情況。
  • Proactive Cloud Health Checks
  • vSAN Configuration Assist
  • Hardware Lifecycle Management
  • Highly Available Control Plane for Health Checks
  • Health and Performance Monitoring
  • vRealize Management Pack for vSAN
  • Stretched Cluster Witness Replacement
  • Host Evacuation
  • vSAN API and PowerCLI

圖、透過 ESXi Host Client 管理介面查看 vSAN 健康情況



【部署】(Deployment)

在新版 vSAN 6.6 當中關於部署的部分共有 3 項新功能 (如下所示)。在過往的 vSAN 運作環境中,最令管理人員感到困擾的便是 vSAN 叢集主機之間必須透過「Multicast」進行溝通。現在,新版 vSAN 6.6 改為採用「Unicast」(當舊版升級為 vSAN 6.6 後也會自動 Multicast -> Unicast)。
  • Easy Install
  • Multicast Dependency Removed
  • Extensibility

圖、新版 vSAN 改為採用 Unicast

圖、新版 vSAN 改為採用 Unicast



【可用性】(Availability)

在新版 vSAN 6.6 當中關於可用性的部分共有 3 項新功能 (如下所示)。事實上,從第二代 vSAN 6.0 版本開始便具備 vSAN Stretched Cluster 的運作架構,然而新版的 vSAN 6.6 結合本地端故障保護機制讓站台之間的容錯更具備彈性,甚至結合親和性規則讓儲存原則的管理更具備靈活性。
  • Stretched Cluster Local Failure Protection
  • Stretched Cluster Site Affinity
  • Degraded Device Handling

圖、Stretched Cluster Local Failure Protection 運作架構示意圖


圖、Stretched Cluster Site Affinity 運作架構示意圖




【效能】(Performance)

在新版 vSAN 6.6 當中關於效能的部分共有 5 項新功能 (如下所示)。在新版 vSAN 6.6 當中,支援最新 Intel 3D XPoint NVMe 快閃儲存 (Intel Optane P4800X),並且根據 VMware 官方的效能測試結果顯示,跟舊版 vSAN  All-Flash運作架構相較之下儲存效能將提升 50%
  • Deduplication and Compression
  • Rebuild and Resynchronization Enhancements
  • Checksum
  • De-Staging
  • iSCSI

圖、ESXi vs Bare Metal 使用 Intel Optane 效能測試

圖、VMware vSAN 使用 Intel Optane 效能測試



參考資源

Viewing all 589 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>