Pages

Subscribe:

Ads 468x60px

Labels

2015年9月9日 星期三

Visual FoxPro 9中新的數據處理方式

資料來源
Visual FoXPro 9.0與以前的版本相比,在數據引擎上做了很大的改進。從增強的SQL語言到支持新的數據類型和索引都作了增強,本文闡述了這個最新版本作爲一個成熟開發平台的魅力。
  數據引擎的改變主要體現在以下5個方面:
  · 增強的SQL語言:取消了很多硬編碼的限制,增強了子查詢和關聯查詢的支持,支持更複雜的表達式,以及增強了對UNION的支持。
  · 性能方面:加入了一個全新的索引方式,增加了過濾型索引的性能,提高了了TOP n ,MIN()/MAX()以及LIKE這些查詢子句的性能。
  · 命令和函數:對數據操作的更具靈活性,增強對SQL中showplan的支持,增加ICASE()來代替IIF()函數。
  · 新的數據類型:支持VarChar、VarBinary和BLOB等新的數據類型,並提供相應的類型轉換函數:CAST()。增強了現有函數對數據類型的控制和轉換能力
  · 遠程數據:增強了事務控制的能力,遊標機制使得代碼邏輯更加清楚,並且對CursorAdapter作了加強,使開發者只需數行代碼就可以方便地訪問遠程視圖。
  由于提供了與SQLServer強有力的互操作性,Visual FoxPro 9對客戶端/服務器模式做了很大的改進。通過支持新的數據類型,並取消了SQL語言的諸多限制,同一套代碼可同時運行在本地數據引擎和SQL Server這兩種不同的數據源上。 
  以上是大致的描述,下面讓我們深入剖析這些新增功能。
  SQL子查詢的增強
  假如要用一句話來表示SQL子查詢的增強程度,那就是:“太多了”!SQL語句中再沒有了元素數量的硬編碼限制。一個簡單的SELECT語句能包括更多的表、連接、子查詢、嵌套子查詢和聯結。
  SQL語句中的IN子句中再也沒有數量限制。在以前的版本中IN實際被映射到了一個名字INLIST()函數中,但現在這種依靠取消了。這個改變使得IN子句能使用更多的參數來生成非常複雜的SQL語句。與原來版本不同,只要找到相應記錄,Visual FoxPro 9會自動停止計算IN子句中的表達式,這將帶來性能的提高。
  完全無限制?
  IN參數表的元素也不是完全無限的,它的最大數量等于函數SYS(3055)的返回值,而這個函數的返回值與實際可用內存有關,因此假如你的可用內存越大,那麽IN子句支持的元素就越多。無硬編碼的限制並不等于完全無限制。像可用內存以及表達式的複雜性都能決定是否能運行一個非常長而且複雜的語句,你要花很大的功夫才能找出它們在你的機器上的真實極限。
  增強的子查詢功能
  子查詢在SQL語言中是一個很有用的功能。它一般處于WHERE子句中的右邊,充當一個選擇器的作用。在Visual FoxPro 9中,子查詢還可以處于SELECT的參數列表中(稱爲投影)以及FROM子句中(稱爲派生表)。
  當你使用投影時,假如子查詢沒有返回任何記錄,那將返加一個空值(NULL)。投影還答應互相關聯,以後我們會講到這點。
  以下使用投影的SQL語句的一個例子:
  
  SELECT ;
  C.CustomerID, ;
  C.CompanyName, ;
  (SELECT YTD_Sales FROM Sales_02 WHERE ;
  C.CustomerID = Sales_02.CustomerID) AS Y02,;
  (SELECT YTD_Sales FROM Sales_03 WHERE ;
  C.CustomerID = Sales_03.CustomerID) AS Y03,;
  (SELECT YTD_Sales FROM Sales_04 WHERE ;
  C.CustomerID = Sales_04.CustomerID) AS Y04 ;
  FROM Customers C 
  這個SELECT語句返回最後三個會計年度的客戶ID和公司名稱。
  使用投影的限制是子查詢只能查詢一個字段,並且子查詢返回的記錄數不能大于1。
  投影的另一個有價值的使用方法是它可以成爲表達式的一部分,如下所示:
  
  SELECT ;
  C.customerID, ;
  C.companyname, ;
  SUM(D.quantity*D.unitprice) AS CustTotal ,; 
  (SUM(D.quantity*D.unitprice) / ;
  (SELECT SUM((quantity*unitprice)-discount) ;
  FROM OrderDetails D2) ;
  )*100 AS PctTotal ;
  FROM Customers C ;
  INNER JOIN Orders O ;
  ON C.customerID = O.customerID ;
  INNER JOIN OrderDetails D ;
  ON O.orderid = D.orderid ;
  GROUP BY C.customerID, C.companyname, O.orderID ;
  ORDER BY pctTotal DESC
  這個SELECT語句返回客戶ID、公司名稱、銷售額以及銷售額占總銷售額的百分比。
  注重在以上語句中,子查詢充當SELECT列表中的一個複雜表達式,並且它還包含一個聚集函數SUM(),這裏我們可以看到使用它的靈活性。
  子查詢的另一種使用場景即派生表,實際你可以將它看作一個邏輯表。
  考慮以下的例子:
  
  SELECT ;
  C.customerid, ;
  P.prodUCt_count AS p_count;
  FROM Customers C, ;
  (SELECT c2.customerid, ; 
  COUNT(DISTINCT D.productID) AS p_count ;
  FROM Customers C2 ;
  INNER JOIN Orders O ;
  ON C2.customerid = O.customerid ;
  INNER JOIN OrderDetails D ;
  ON O.orderid = D.orderid ;
  GROUP BY c2.customerid) AS P ;
  WHERE C.customerID = p.customerID ;
  AND P.p_count >= ;
  (SELECT (COUNT(*)*.50) FROM Products) ;
  ORDER BY p.product_count DESC
  這個SELECT語句返回客戶ID、所有購買了50%産品的客戶,以及它們所購買的産品數量。
  觀察以上的語句,你可以發現派生表有一個名爲“P”的別名,這與普通字段別名的語法一樣――都必須用AS子句來表達。而且這個子查詢很複雜(在本例中,它關聯了兩個表),這個派生表還可以作爲WHERE子句的一個條件或者將它放在ORDER BY子句中。
  與投影不同,派生表能返回多個字段以及多條記錄,但它不能相互關聯。另外,所有的子查詢都會在主句中的SELECT執行之前運行。
  子查詢還可以充當UPDATE語句中的SET列表。但SET子句只答應使用一個子查詢,並且當SET子句使用子查詢後,那WHERE子句中就不答應再使用子查詢了。
  更好的關聯支持
  新版本中的UPDATE語句和DELETE語句支持關聯。這樣,一條語句可以引用不同的表,如下所示:
  
  DELETE products ;
  FROM mfg ;
  WHERE mfg.productID = products.productID;
  AND mfg.discontinued = .t.
  這個DELETE語句刪除mfg表中所有不再生産的産品。
  另一個關聯UPDATE語句示例如下:
  
  UPDATE products ;
  SET unitprice = mfg.msrp *.90 ;
  FROM mfg ;
  WHERE mfg.productID = products.productID 
  這條UPDATE語句將零售産品的價格打了九折。可能你會問:它支持子查詢嗎?當然支持。但使用的時候要格外小心。因爲假如子查詢沒有返回任何記錄,那將會返回一個值爲NULL的空記錄。而這恰恰不是你所希望得到的結果。如下所示:
  
  UPDATE products ;
  SET unitprice = ; 
  (SELECT ( msrp *.90 ) ;
  FROM mfg ;
  WHERE mfg.productID = products.productID)
  這條UPDATE語句的作用與上條基本相似,但假如子查詢中的産品沒有找到的話,那unitprice將被置爲NULL。
  視圖與查詢設計器
  盡管新版本增強了子查詢功能,但不幸的是在視圖與查詢設計器中並不支持這種增強功能。並且由于SQL中的IN子句中的元素數目取消了硬編碼的限制,但視圖與查詢設計器中並不知道,因此假如你使用設計器,那IN子句還是只支持24個元素。
  增強的UNION操作符
  由于聯結的數量沒有了硬編碼的限制,你可以在INSERTINTO子句的結果集中使用UNION。也可以在使用UNION的同時使用ORDERBY子句。
  性能
  不管你是訪問遠程數據還是依靠于它強大的本地數據庫引擎,Visual FoxPro始終將性能考慮在第一位。Visual FoxPro 9進一步地增強了數據引擎的功能。
  二進制索引
  這種新型的索引使用方法如下:
  INDEX ON DELETED() TAG DELETED BINARY
  這種索引能與任何非空的邏輯表達式一起使用。除此之外,FOR表達式、ASCENDING、DESCENDING、UNIQUE或CANDIDATE要害字不能與它一起使用。
  二進制索引並不支持SET ORDER TO命令,而且INDEXON命令會將當前的order設爲0。但你可在Seek語句中使用二進制索引。
  二進制索引最大的優勢在于它的索引文件大小。以一個包含800萬條記錄的表爲例,它的二進制索引文件的大小差不多爲表大小的三十分之一。尺寸越小意味著在執行APPEND和REPLACE操作時I/O處理速度越快,但遺憾的是所有的Rushmore優化技術目前都還不支持二進制索引。
  假如SQL語句返回的記錄起過表中總記錄的三分之一的話,那Rushmore將得到很好的發揮(當所有的記錄都命中的話會提高92%的速度)。假如SQL語句返回的記錄低于總記錄的三分之一,那Rushmore將變得很慢(假如沒有記錄命中的話會降低兩倍的速度)。
  在Visual FoxPro 9中,將DELETE語句設置爲二進制索引是一種增強性能的簡單方法。但要注重版本的問題,因爲以前的版本並不支持這種新的索引方式。
  Rushmore優化技術
  新版本中有使用了大量的Rushmore優化技術,例如對TOPN[PERCENT]作了優化,這樣便能提供更好的性能。它一般與ORDER BY子句配合使用,返回前N個或者前百分比數目的記錄。在Visaul FoxPro 9中它減少了內排序操作和文件I/O操作,使得執行這種類型的語句占用更少的內存,並且正如此語句所言,它只返回確切的前N個記錄。
  在以前的版本中,假如要統計一個班級總分排在前十名的學生,但中間存在並列名次的話,那結果會返回多于10個的記錄。
  在適當的情況下,Visual FoxPro 9將在FOR DELETED()子句和FOR NOT DELETED()子句中使用過濾索引來對MIN()和MAX()這兩個聚集函數進行優化,可以提高MIN()和MAX()的計算速度。
  假如LIKE模糊查詢語句中的條件以“%”爲結尾,那查詢速度也將得到很大提高(請注重,“%”只能出現在查詢條件的結尾,而不能出現在其它地方,否則優化無效)。這種優化的結果等同于普通WHERE子句查詢的速度。
  更多的智能索引技術
  Visual FoxPro 9比以前的版本更智能化,它充分地讓索引獲得Rushmore的優化技術,如下所示:
  
  INDEX ON DELETED() TAG DELETED 
  以上語句自動對NOTDELETED()和DELETED()條件進行優化,不用你添加一條INDEX ON NOTDELETED()來實現。
  這裏有個特例,就是當索引過過濾表達式采用了FORNOTDELETED()作爲Rushmore的優化,並且SETDELETED設爲ON的話,那就無須爲NOTDELETED()作優化。(王朝網路 wangchao.net.cn)

2015年9月7日 星期一

How to Enable Intel Virtualization Technology (vt-x) and amd-v in BIOS – Updated

資料來源

Most of the time, hardware virtualization technology extensions should be enabled in motherboard BIOS in order to run recent OS and applications. Specifically Windows 8 and 8.1 require vt-x/amd-v enabled processors even to install it on virtual machine. Your PC processor and motherboard should support this feature, if they don’t, you can’t do anything to get this feature because it’s a built-in hardware feature. This simple guide explains how to enable Intel virtualization technology (vt,vt-x) for Intel processors and amd-v for AMD processors.
Modifying BIOS settings could be tricky and it is different for each type of motherboards and BIOS. But you must enable it if it’s really required to install and run specific OS or applications.  Even though it is easy to do, I highly recommend to check the manual or online guide of your motherboard vendor.
Enable Virtualization Technology (VT)
All the latest processors and motherboards support virtualization technology (vt-x/amd-v). If you have old PC, double check the processor model for this feature. Before play around in BIOS, use the appropriate tools to detect the current VT-X status in OS level. If it’s already enabled (detected by these tools), then no changes required in BIOS.

Where to Find Intel Virtualization Technology (VT-X) in BIOS?

It can be found under ‘Advanced Chipset settings’ in AWARD BIOS. Normally these vt-x/amd-v extension settings will be available in advanced settings in most of the motherboards.
enable Intel Virtualization Technology (vt-x)
After you have changed the settings to disable or enable, it’s recommended to shutdown the computer for minimum 10 seconds and restart it (Cold Restart) to take effect. Latest motherboards automatically detect these type of changes and do the cold restart. Whenever I change VT setting in my motherboard, it delays the restart automatically.

How to Confirm Virtualization Technology (vt-x/amd-v) is Enabled or Disabled?

1) If your processor is made by Intel, use this free utility to see the result which operating system is sensing.
intel util
Once the utility is installed in Windows 7 or 8 computer, you can use and identify the status as shown below.
Enable Virtualization Technology (VT)
2) To check the status of AMD-V, AMD users can download AMD-V detection utility here.
amd-v result
3) There is a tool available from Microsoft which will work on both Intel and AMD processor Windows OS computers.
This tool doesn’t work on Windows 8, obviously, if you are using Windows 8, then vt-x/amd-v is already enabled on the same PC,that’s why you could install Windows 8 on it.
Installation is not required here, execute the EXE file and following result will appear.
Enable Virtualization Technology (VT)
One of these above tools will help you to identify vt-x/amd-v support in your laptop or desktop computer.

如何使用 Synology NAS 實作 PXE

資料來源


概述

DiskStation 支援 TFTP 並搭載 Synology DHCP Server 套件,可成為開機前執行環境 (Preboot Execution Environment, PXE) 設定中不可或缺的重要角色。透過 PXE,用戶端裝置可使用儲存在 DiskStation 上的網路啟動載入器程式來開機,不需透過本機儲存空間上的作業系統來啟動。對於欲在大型部署環境下集中並簡化管理程序的企業來說,實為一套理想的解決方案。

本文將引導您啟動 TFTP 服務並透過 DiskStation 設定 PXE。
注意:本文假設您已具備程式或網路管理之經驗。

目錄

  1. 什麼是 PXE?
  2. 開始進行之前的準備
  3. 設定 PXE

1.什麼是 PXE?

開機前執行環境 (Preboot Execution Environment, PXE) 可讓裝置經由網路開機,無須透過本機儲存空間上的作業系統來啟動。用戶端裝置不需使用其本機儲存空間上的作業系統,即能透過 Synology NAS 上的網路啟動載入器程式 (Network bootstrap program, NBP) 進行開機。
在此種環境下,您可在 Synology NAS 上為用戶端裝置安裝作業系統,不必攜帶一疊安裝光碟、實際前往每台用戶端 PC。設定一台新的用戶端 PC 就跟將其連上網路並開啟電源一樣簡單。此方式可大幅節省管理時間。
若要實作 PXE,您需將網路啟動載入器程式儲存在 Synology NAS 任一個您所選的資料夾中。修改現有 DHCP 伺服器設定以將用戶端裝置重新導至正確的檔案路徑之後,用戶端裝置就能透過 TFTP 存取網路啟動載入器程式。另一個作法是安裝 Synology DHCP Server 套件,便可在同一台 Synology NAS 上提供 DHCP 及 TFTP 服務,從而實作一套多合一 PXE 解決方案。

2.開始進行之前的準備

在您開始進行之前,請執行下列操作:
  • 架設 DiskStation 並安裝 Synology DiskStation Manager (DSM)。
  • 建立至少一個儲存空間 (參見此處) 及共用資料夾 (參見此處)。
  • 確定您的用戶端裝置支援 PXE。
欲瞭解基本硬體、軟體設定的相關資訊,請參閱 Synology 產品的快速安裝指南。您也可以參閱 Synology DiskStation 使用手冊來取得與本文主題相關的額外資訊。兩者皆可於 Synology 下載中心取得。

3.設定 PXE

在下列區塊中,我們將介紹兩種能讓 DiskStation 協助您實作 PXE 的方式:

3.1 透過外部 DHCP 伺服器在 DiskStation 上設定 PXE 及 TFTP 服務

簡單式檔案傳輸通訊協定 (Trivial File Transfer Protocol, TFTP) 為一套簡單的檔案傳輸通訊協定,經常用來將網路啟動載入器程式傳輸至 PXE 用戶端裝置。啟動 DiskStation 上的 TFTP 服務便可將網路啟動載入器程式傳輸至用戶端裝置。用戶端裝置與現有的 DHCP 伺服器結合後,就能取得 DiskStation 上儲存的網路啟動載入器程式並用其開機。下方的圖表 1 說明此種 PXE 設定下各裝置所扮演的角色。
圖表 1 說明此種 PXE 設定下不可或缺的三種裝置。
  1. DHCP 伺服器為用戶端裝置提供 TFTP 伺服器的 IP 位址及網路啟動載入器程式資訊 (例如檔案路徑等)。
  2. TFTP 伺服器 (亦即您的 DiskStation) 透過 TFTP 將網路啟動載入器程式傳輸至用戶端裝置。
  3. 用戶端裝置使用網路啟動載入器程式開機。
若要在 DiskStation 上啟動 TFTP:
  1. 前往主選單 > 控制台 > 檔案服務,並選擇 TFTP/PXE 頁籤。
  2. 勾選啟動 TFTP 服務
  3. 在 TFTP 根目錄區塊,選擇您存放網路啟動載入器程式及用戶端裝置開機所需之全部檔案的資料夾。(您的設定及環境可能會與下列例子有所不同。)
  4. 按一下套用來儲存設定。
  5. 登入 DHCP 伺服器並完成網路的正確設定。(此外,您也可以參考下方區塊來在同一台 DiskStation 上設定 DHCP Server 並完成 PXE。)
  6. 開啟用戶端裝置的電源。您現在便能使用 PXE 來使其開機。

3.2 在同一台 DiskStation 上設定 DHCP Server 並實作 PXE

如果您希望使用 DiskStation 同時提供 TFTP 及 DHCP 服務,您可前往套件中心安裝 Synology DHCP Server 套件。在執行 DHCP Server 的情況下,只需一台 DiskStation 便能提供 PXE 必要的服務,因此可簡化您的環境設定。圖表 2 說明此種 PXE 設定下各裝置所扮演的角色。
圖表 2 說明在一台 DiskStation 上執行 DHCP Server 並實作 PXE 時各裝置所扮演的角色。
  1. TFTP + DHCP 伺服器 (也就是您的 DiskStation) 可為用戶端裝置提供網路啟動載入器程式的資訊 (例如檔案路徑等)。
  2. 用戶端裝置使用網路啟動載入器程式開機。
若要在 DiskStation 上設定 DHCP 伺服器:

  1. 前往主選單 > 控制台 > 檔案服務,並選擇 TFTP/PXE 頁籤。
  2. 勾選為 PXE 在此伺服器上設定 DHCP 服務。若您尚未安裝 DHCP Server,您將接到前往套件中心安裝 DHCP Server 的提示。
  3. 開機載入器區塊中,選擇您前面所指定之 TFTP 根目錄內的網路啟動載入器程式。(您的設定及環境可能會與下列例子有所不同。)
  4. 正確設定 DHCP 子網路。IP 位址會根據這些設定分配給 PXE 用戶。
  5. 開啟用戶端裝置的電源。您現在便能使用 PXE 來使其開機。

VMware ESXi 5 安裝設定

資料來源

VMware ESX 5 系列產品正式推出,登入 VMware 公司網站申請新版軟體序號,進入下載頁面取得 VMware ESXi 5 及管理軟體 VMware vSphere Client。

【硬體相容性問題】
安裝前須留意硬體基本需求與支援相容的問題,CPU 應能支援 64 位元架構,記憶體至少要有 2GB,5.5版則需有足4GB,網路卡晶片製造廠牌當然也是重點,一般建議選擇伺服器常用的「Intel」或 「Broadcom」……等主要品牌網路晶片的產品,成功的機率會比較高。不過,後來試著以 Asus P8H61-M LE 主機板與 Intel Core i3 CPU 的自組 PC 安裝,發現主機板內建的 Realtek 8111E Gigabit LAN 晶片,也能成功完成安裝,系統辨識為「Realtek 8168 Gigabit Ethernet」。電腦教室中使用相同網路晶片的 Acer Veriton M265,甚至更早的 Acer Veriton M460,也都能跑完安裝流程。從開機載入驅動程式過程觀察,ESXi 5.0 版起已增加 Realtek PCIe GBE Family Controller 這一系列網路卡的驅動模組。可是應注意的是,這到了5.5版卻又變成不支援 Realtek 網卡。也就是說,現有 Intel Core i 系列架構的 PC,大都已具備安裝 ESXi 5 的條件了,若要安裝5.5版就又需有更多的記憶體及伺服器等級的網路卡。

學校的 HP ProLiant ML110 G5 與 HP ProLiant ML110 G6 先後已完成 5.5 版的安裝,而另一部機架式伺服器 Asus RS160,因為 Intel Xeon 3200 MHz CPU 無法通過硬體檢查,安裝失敗只能繼續使用 ESXi 4。

進入 BIOS 設定確認 CPU 支援虛擬化功能啟用,這樣才能充分發揮 CPU 在 ESXi Server 裡的效能,以 Intel CPU 相容主機板為例:
Intel VT (Virtualization Technology) 功能的啟用,在開機時按 Del 或 F2 進到 BIOS 設定畫面之後,找到「CPU Options」相關設定中的「Advanced Setup」,檢視「Intel Virtualization Technology」項目,若是「Enable」就沒問題了。

【硬體規格】
HP ProLiant ML110 G6
Intel Xeon 3430 2.40 GHz CPU
DDR3-1333 16GB SDRAM
Seagate ST3500320AS SATA 500GB Hard Drive
HP NC107i PCIe Gigabit Server Adapter
Intel 82572EI Gigabit Ethernet Controller

【開始安裝 vSphere Hypervisor 】
VMware vSphere ESXi 下載的網頁,提供的是安裝光碟映像 iso 檔,燒錄成開機光碟放入電腦即可凖備開機安裝。



選擇第一個開機選項執行安裝,管理者 root 密碼的設定在 5.0 版改成安裝時輸入,此外,全程大多以預設選項或 Enter 鍵就可簡單的完成安裝,儘管有時部分主機會出現錯誤警告訊息……



取消安裝進入 Bios 修改相關設定,再次安裝仍是相同情形,只好先按「Enter」暫時略過。最後重新開機顯示登入主機的 IP 位址,就表示安裝成功可從遠端登入管理了。



本機登入後顯示變更密碼及網路等設定項目,不過這些設定和更多的系統調整,全都可在遠端以 VMware vSphere Client 修改。因此,可以放心地離開主機,轉移操作環境到管理端的電腦了。



【網路卡疑難排除】
網路卡有問題或不相容時還是可以完成安裝,只是開機後可能出現找不到網路裝置的錯誤訊息:
No compatible network adapter found ......
這表示網路卡不相容,該想辦法換一片了。

另一種狀況則是開機後顯示主機的 IP 位址為 0.0.0.0,這個問題容易解決。若是出現在單埠網卡的主機上時,可能只是網路線未連接妥當所致。而在備有雙埠以上網路卡的主機上,就要試著改接另一個 網卡插孔,因為在以 DHCP 伺服器分配 IP 的網路環境中,安裝完成初期代號 vmnic0 的網路裝置才能取得 IP 位址。當然,vmnic0 若為不相容的網路晶片時,加裝相容的網卡才能正常取得網路設定,裝置代號就會成為 vmnic1。

【登入 vSphere ESXi 進行管理】
安裝與 ESXi 相近版本的 VMware vSphere Client,才能登入管理 ESXi,舊版的 VMware vSphere Client 登入時依程式指示,也可升級至最新的對應適用版本。可惜的是,這部分目前僅提供 Windows 平台的版本,Mac 或 Linux 仍無法直接安裝使用 VMware vSphere Client 。



以使用者名稱「root」和安裝時設定的密碼登入,就可開始遠端管理 VMware vSphere ESXi 進行大部份的設定了。VMware vSphere Client 裡 ESXi Server 的管理有 Getting Stared、Summary、Virtual Machines …等,首先點選 Configurations 可看到 Hardware 與 Software 兩大設定類別。

先從軟體設定開始,依序完成 Licensed Features、Time Configuration、Virtual Machine Startup/Shutdown、Security Profile 等主要項目設定。

【輸入序號】
VMware vSphere Client > Configuration > Software > Licensed Features > ESX Server License Type > Edit > Assign a New License Key to This Host > Enter Key ......
VMware vSphere ESXi 安裝好後可試用兩個月,輸入正確的序號, 授權的使用限期從 60 天後到期變成「Never」,也就是可以永久使用。

【網路校時設定】
系統時間和本地時間相差八小時,設定網路自動校時以確保系統記錄及顯示時間與台灣時間相符。
VMware vSphere Client > Configuration > Software > Time Configuration > Properties > NTP Configuration ......

先勾選「NTP Client Enabled」再按「Options」,NTP Settings > NTP Servers > Add ......
加入伺服器位址,如「clock.stdtime.gov.tw」,網路校時或許未即刻生效,幾分鐘後查看已顯示為正常時間。最好能將 NTP Daemon 改為自動啓動:
VMware vSphere Client > Configuration > Software > Time Configuration > Properties > Options > General > Startup Policy ......

【自動開關機設定】
VMware vSphere Client > Configuration > Software > Virtual Machine Startup/Shutdown > Properties
勾選「Allow virtual machines to start and stop automatically with the system」允許 Virtual Machine 隨系統啟動或關閉,依序自動開關機,預設開關機間隔時間120秒。

關機設定 Default Shutdown Delay 部份,延遲二分鐘可改為一分鐘,Shutdown Action 關機動作建議改為 Guest Shutdown,以便安裝 VMware Tools 的 VM 在系統執行自動關機動作時,循正常關機程序關機,避免直接 Power Off,可能損壞 Guest 端的作業系統。

日後安裝多部 Virtual Machine 時,可視服務性質需要在 Startup Order 裡點選 Manual Startup 清單上的 Virtual Machine,上移至 Automatic Startup 或 Any Order 列表,VM 就可套用這個功能了。列入 Automatic Startup 清單中的 VM,則可進一步指定自動開機優先順位,而這些 VM 在系統關機時,將以相反順序自動關機。 

【啟用 SSH 服務】
VMware vSphere Client > Configuration > Software > Security Profile > Services > Properties > SSH > Options > Startup Policy …
開啟 SSH 服務或許會有安全風險,很多時候有些問題還是得靠指令解決,特別是遇到 VMware vSphere Client 無法登入的情況時,為了方便遠端登入以指令模式操作,這個服務還是暫時先讓它常駐系統吧。

接下來的硬體設定則有 Storage、Networking、Storage Adapters、Network Adapters…幾個重要設定項目。

【新增網路磁碟】
以 iSCSI 或 NFS 協定連接網路共享磁碟,新增儲存裝置至 Datastore,可方便不同 ESXi Server 間存取檔案資料。學校的 Linux File Server 安裝 VMware ESXi 支援的 iSCSI 或 NFS 服務套件都很容易,檔案伺服器上設定好共享權限後,回來 ESXi Server 這裡試試,其中 NFS 磁碟共享設定比較簡單:
VMware vSphere Client > Configuration > Hardware > Storage > Datastores > Add Storage > Storage Type:Network File System ……

iSCSI 型態則稍微複雜一些,要先啟用「Software iSCSI Adapter」:
VMware vSphere Client > Configuration > Hardware > Storage Adapters > Add > Software iSCSI Adapter > OK ...

接下來設定「Software iSCSI Adapter」:
VMware vSphere Client > Configuration > Hardware > Storage Adapters ...
點選「iSCSI Software Apapters」的「vmhba3x」Properties ...
iSCSI Initiator (vmhba3x) Properties > Dynamic Discovery > Add ... > Add Send Target Server ...

這樣就已經把「iSCSI 磁碟」安裝至 ESXi Server,準備格式化及掛載成為 Datastore:
VMware vSphere Client > Configuration > Hardware > Storage > Add Storage > Storage Type:Disk/LUN …

可是這樣的步驟反覆了幾次,每次到了格式化時都停在這個錯誤訊息:
Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for object "ha-datastoresystem" on ESXi "172.20.1.x" failed.

以 SSH 連線登入 ESXi Server,此時可將 iSCSI 磁碟視為「安裝」好的本機磁碟,查詢 iSCSI 磁碟的裝置名稱與磁區狀態,用的是 Linux 的 fdisk 指令,「fdisk -l」顯示這個硬碟已被切割為三個磁區,以致 ESXi 無法格式化,逐一刪除磁區後,回到 VMware vSphere Client 重複 Add Storage 步驟就可以了。

【iSCSI vs. NFS】
在新版的 ESXi Server 上開始嘗試使用 iSCSI 網路磁碟,其運作原理與慣用的 NFS 大不相同,效能與方便性值得研究測試。

找來一部安裝 Windows 系統的 VM,存放於 ESXi 的本機硬碟,與經由 NFS、iSCSI 型態掛載的網路磁碟,以開機三次平均所需時間作為評比數據,大約分別為 52 秒、45 秒與 35 秒,這樣的測試環境得到「iSCSI」最快而「NFS」次之的結果。非專業測試環境與流程,僅供參考不用太認真啊!

兩者存取效能姑且不論,就個人使用經驗來說,偏好 Linux Server 的「NFS」搭配「Samba」協定的便利性。無論如何,有了這些網路共用儲存媒介,對於目前多部個別獨立運作 的 ESXi Server 環境架構中,檔案共享機制絕對可為整合管理帶來極大效益,不管有無 vCenter 都應是導入虛擬化系統時不可或缺的一環。

【固定 IP 設定】
VMware vSphere Client > Configuration > Hardware > Networking > Standard Switch:vSwitch0 > Properties > Ports > Management Network > Edit > IP Settings > Use the following IP Settings ......
取消自動取得 IP 設定,改為固定易記的 IP 位址。使用外部 IP 可有校外直接登入管理的方便性,相對來說內部 IP 當然會比較安全,就算離開學校區域網路範圍,必要時仍可透過防火牆管理規則機制,設定轉通訊埠進入這部主機。

設定前查詢及記錄 ESXi Server 使用的通訊埠:
VMware vSphere Client > Configuration > Software > Security Profile > Firewall ......
列表顯示使用 VMware vSphere Client 時,ESXi Server 至少要用到 443 和 902 兩個通訊埠。通訊埠 443 Port 供 vSphere Client 連線使用,vSphere Client 裡顯示 Virtual Machine Console 畫面則需用到 902 Port。

【網路連接埠設定】
主機使用雙埠的網路卡,或安裝兩張網路卡時,以校內慣用 DHCP 伺服器自動分配 IP 的環境中,測試結果如前述,將由「vmnic0」順利取得 IP。從 VMware vSphere Client 裡的 Configuration > Hardware > Network Adapters ......,可看到 vmnic0 vmnic1 這兩張網路卡的狀態。vimnic1 準備預留給連線對外的網路使用,配合校內現有網路線路規畫,若未單獨設置將無法供 Virtual Machine 以外部 IP 經由 Router 進出網際網路。因為兩個網段的實體線路分開,虛擬主機系統裡的網路架構也應循相同的原則建置。

此時,如果系統如已自動串接至預設的「Standard Switch: vSwitch0」,需先將這個網卡自「vSwitch0」中移除,再以「Configuration > Hardware > Networking > Add Networking > Connection Types : Virtual Machine > Creat a vSphere Standard Switch > 確認勾選 vmnic1 ......」的步驟,建立「Standard Switch: vSwitch1」後,未來使用 Public IP 的 VM,也應在裝置設定中指定網卡網路連線的 Network Lable,如「VM Network 2」,設定經由這個網路界面連接至網際網路。



【Datastore Browser 檔案管理】
Datastore 上按鼠右鍵「Browse Datastore 」,使用附加的「Datastore Browser」功能,可對掛載在主機儲存裝置的 VM 檔案、資料夾,進行上傳、下載、搬移、刪除……等常用的檔案管理動作。

【開啟 Virtual Machine】
VMware vSphere Client 功能表上沒有 VMware Workstation 上慣用的「Open Virtual Machine」,從其他地方移動或複製 VM 時,用 vCenter 當然能有較為便利的管理操作方式。一般需以「Datastore Browser」瀏覽該 VM 的資料夾,找到 vmx 檔「Add to Inventory」就可以加入原有的 Virtual Machine 了。部分 VM 為舊版 VMware Workstation 7/8 或 ESX4 所建立,「VM Version」顯示如 vmx-07 的版本編號,開機前順便也將它更新,點選這部 VM:
VMware vSphere Client > Inventory > Virtual Machine > Upgrade Virtual Hardware ……
「VM Version」已更新為 vmx-09。

【匯出 Virtual Machine】
Virtual Machine 的備份,可使用附加的「Datastore Browser」可對掛載在主機儲存裝置的 VM 檔案、資料夾完整複製,這是最簡單卻也最佔儲存空間的方法。因此,Virtual Machine 關機後,可以試試匯出為「OVF Template」的備份方式:

VMware vSphere Client 裡點選將匯出的 VM > 功能表:File > Export OVF Template > Directory: 指定存放路徑 > Format: 選擇「Folder of files (OVF)」或「Single file (OVA)」……
儲存為單一的 OVA 檔,方便檔案管理,又能藉由壓縮節省儲存空間,是個不錯的選擇。

【匯入 Virtual Machine】
VMware vSphere Client > File > Deploy OVF Template > Deploy from a file or URL > Browse ……
指定下載或自行備份的 OVF Templete 為匯入來源,匯入後建議「Edit Settings」檢查硬體裝置無誤後,啟動這部 Virtual Machine 就可使用這部主機了。萬一,VM 裡的虛擬硬體裝置不相容無法載入呢?虛擬裝置出問題的只要不是硬碟的話,常見網路卡、光碟機等裝置,只需直接刪除再重新新增就好了。

【使用 USB 界面裝置】
USB 裝置插上 ESXi Server 後,無法立即提供 VM 連結使用,這也和 VMware Workstation 操作方式不同。要先「Edit Settings」在 VM 設定內容的新增硬體選項裡,新增「USB Controler」,再加裝已連接的「USB Device」,VM 開機後才能偵測出這些新增的硬體裝置。

【 VMware vSphere Client 連線錯誤問題】
VMware vSphere Client 連線 ESXi 4 Server 曾出現無法與 Host 端連線,而伺服器上的所有 VM 卻都能正常運作的狀況,ESXi 5 Server 也有過同樣的問題,連線時顯示錯誤訊息……
vSphere Client could not connect to "172.20.1.x" .
An unknown connection error occurred. (The server could not interpret the client's request. (遠端伺服器傳回一個錯誤:(503)伺服器無法使用。))

解決方法是用 SSH 連線登入,執行「/etc/init.d/hostd restart」指令重新啟動「hostd」: 
~ # /etc/init.d/hostd restart
watchdog-hostd: Terminating watchdog process with PID xxxx
hostd stopped.
[xxxxxxx] Begin 'hostd ++min=0,swap,group=hostd /etc/vmware/hostd/config.xml', min-uptime = 60, max-quick-failures = 1, max-total-failures = 1000000, bg_pid_file = ''
hostd started.

【安裝測試結果】
安裝完成後已經建置了包含 VMware vSphere ESXi 虛擬化基礎架構的作業系統,這個新版 VMFS5 檔案系統的磁碟,使用了約 971MB 空間儲存系統資料,十分鐘內可順利安裝完成,安裝時間明顯比前一版本更長。與 VMware vSphere ESXi 4 的使用經驗相比,VMware vSphere ESXi 5 看來差異不大,匯入前一版本的 VM 也都沒問題。而且,先前測試的幾個輔助管理軟體,如 Veeam Monitor 5.0、VM Explorer 3.6 也都與新版 ESXi 相容,還能繼續正常使用。

【圖片來源】
VMware vSphere Client  軟體說明文件 VMware vSphere Tutorial

【相關網站】
VMware vSphere Installation - ESXi 5
Download VMware vSphere Hypervisor
VMware Compatibility Guide

2015年9月4日 星期五

設定AD帳戶網路磁碟空間

資料來源
以NAS (網路附接儲存設備) 為例,做如下規劃:1. 使用者擁有10GB的個人網路硬碟空間 2. 建立「資源分享區」存放公用軟體 (使用者僅有下載無上傳權限),NAS需支援Active Directory或LDAP目錄服務,即使不執行上述服務只要AD使用者帳密與NAS使用者帳密一致即可。

步驟一:在AD上建立個人網路硬碟空間連結至NAS

1. 在AD Server上開啟「Active Directory 使用和與電腦」à 使用者 (按滑鼠右鍵選「內容」) à 設定檔 à 主資料夾 à 連線Z磁碟機到NAS帳戶資料夾

2. 選擇「套用」 à 出現「Active Directory 網域服務」視窗,說明主資料夾的設定成功 à 連按2次「確定」完成設定。

3. 使用者登入後,在「我的電腦」內可發現多出 Z 磁碟機並以帳戶名稱命名的網路硬碟

步驟二:在AD上建立「資源分享區」連結至NAS

1. 建立使用者登入指令(Script)檔,檔名 TPCSoft.bat,內容如下:

   @echo off
   net use X: \\nas\資源分享區

2. 開始 à 系統管理工具 à 群組原則管理 à 樹系 à 網域 à 網域名稱 (例: Yingge.local) à 群組原則物件 à Default Domain Policy (滑鼠右鍵) à 編輯(Eà 使用者設定 à 原則 à Windows設定 à指令碼 - (登入/登出) à 登入 à  顯示檔案(S)... à將Script登入檔放入並關閉視窗 à 新增(D)... à瀏覽(B)... à選該Script檔 à開啟舊檔(Oà 確定 à 確定

3. 執行 gpupdate 

4. 使用者登入後,在「我的電腦」內可發現 X 磁碟機「資源分享區」的網路硬碟

5. 上述步驟會讓每位登入網域使用者均套用登入指令檔去使用「資源分享區」的公用資料夾 (這是因為我們用群組原則的關係),若只給部分使用者套用則可採另一種方式,假設欲連至另一台nas的行政資料夾,首先建立使用者登入指令(Script)檔,檔名 教務處.bat,內容如下:

   net use y: \\nasold\教務處

6. 於AD主機上,開始 à 執行 à 輸入 \\AD名稱\netlogon,此時會跳出NETLOGON的資料夾

7. 將Script登入檔 (教務處.bat) 放入資料夾內

8. 在AD Server上開啟「Active Directory 使用和與電腦」 à 使用者 (按滑鼠右鍵選「內容」) à 設定檔 à 使用者設定檔 à 登入指令檔(S): à 輸入 教務處.bat à 確定

9. 使用者登入後,在「我的電腦」內可發現Y磁碟機「教務處」的網路硬碟

2015年9月3日 星期四

布萊德的資訊與教學: VM ESXI支援之網卡型號

布萊德的資訊與教學: VM ESXI支援之網卡型號: 3Com 3C905B Etherlink XL 10/100   OK 1    3Com 3C996-T (PCI-X)   OK 1         Asus PIKE 1078 8-port SAS HW RAID   OK 1            Broa...