威聯通科技股份有限公司(QNAP Systems, Inc.) - 網路儲存設備(NAS)

Language

Support

架設於 QTS 上與 S3 和 OpenStack 相容的物件儲存服務

簡介

概述

QNAP物件導向儲存伺服器(OSS)應用程式能讓QNAP Turbo NAS使用現在最普遍使用於存取雲端儲存裝置的S3和OpenStack相容的儲存協定。 OSS應用程式增添了Turbo NAS的存取性能和相容性,使您能享受專為雲端存取所開發的應用程式,包括備份和存檔、內容發佈和文件管理等各種應用。隨著雲端儲存不斷普及,大多數新的應用程式專為雲端儲存所設計,您將可以利用您的Turbo NAS來做測試和其他工作。您也可以將您在公有雲的資料移轉到Turbo NAS上,而無需重新編寫應用程式。

OSS應用程式提供實體且整合的資料存取,讓您能使用物件儲存協定來存取文件,並結合網絡文件共享協定(包括SMB / CIFS、NFS、FTP和WebDAV)來存取物件。例如,您可以使用SMB / CIFS結合區網來存取和管理Turbo NAS上的文件,或是在網際網路裏使用物件導向儲存協定來存取相同的文件。您還可以控制哪些分享的資料夾可以對應到那個storage account或是那些用戶有存取帳號的權限。藉由整合網絡文件存取和物件導向儲存,OSS應用程式使得QTS儲存服務更加容易與安全。

功能特色

  • 支援S3及OpenStack相容的物件儲存協定
  • 支援大型物件,藉由OpenStack的動態和靜態manifest和S3的多重存取方式
  • 支援整合儲存裝置存取,使其能使用物件導向協定及網路檔案協定
  • 支援資料夾共享級別及使用者共享等級控制
  • 允許網域內用戶存取物件儲存裝置
  • 支援每個NAS的用戶多達20對存取金鑰(access key)
  • 支援藉由獨立物件儲存伺服器(stand-alone object storage server)或是QTS Web伺服器的虛擬主機來存取
  • 支援container私有和公有的存取控制
  • 支援顯示物件儲存統計資料於儀表板上
  • 支援管理操作紀錄,方便追蹤及審查系統設定上的改變

注意: OSS 應用程式只相容與以x86架構為主的 Turbo NAS 系統並且安裝QTS 4.1 以上的作業系統

物件導向儲存

資料組織

物件導向儲存為一種用來整理資料的新方法,藉由操縱及控制不同的資料集合(稱之為物件)的方法。每一個物件,如同一個檔案,是一連串由使用者定義的二進制資料。但不同於檔案,物件並不是以階層式的組織方式且不是由它在階層裏的路徑來表示。每一個物件與其新增時所設定用來識別的字串相關聯,這個字串將可用於搜尋此物件。所有的物件都是以水平的架構來排列。所以在資料夾裏並不包含其他資料夾且也不會有搬移資料夾的操作。這種組織方式免除了物件間相互依賴,且保存了儲存系統的基本功能,即儲存和檢索。

有兩個層級可用來區別物件的命名空間: storage account跟container。每一個storage account代表著計算及記錄該次操作的費用計算及產出(同計算儲存裝置的容量一般)。Container可以在一個storage account裏被新增用以提供將物件群組化的基準及提供多個命名空間。如上段所述,在一個container裏不會包含其他的container。

資料存取

資料存取所使用的通訊協定為RESTful API, 其為一基於HTTP/HTTPS為主極通用的協定。OSS的物件儲存API 能與S3 跟OpenStack 的API相容。S3是Amazon 網頁儲存服務,也是目前最受歡迎的雲端儲存服務 (IBM、HP 跟Red Hat也都支持此服務)。OpenStack在提供公有雲跟私有雲的服務上也是具高度支持的方案。OSS能支援以上兩種方案,使其能夠被用於許多的應用開發上,且能夠讓資料在此兩種方案下彼此流通。

請參考以下的連結獲得更多有關物件儲存API的資訊:

整合的儲存方式

為了能夠簡化物件儲存服務上的管理,OSS對於分別於物件儲存及網路檔案儲存下的儲存實體採用如下的對應方式:

  • Storage account 相對應於分享資料夾
  • Container 相對應於分享資料夾裏的高階資料夾
  • 物件相對應於檔案

舉例來說,對於每一分享資料夾就有一相對應的storage account。且每當您透過SMB/NFS新增一高階的資料夾時,您也同時在OSS裏的storage account新增了一個container。在此整合的儲存方式下,對於一個分享的資料夾,我們可使用此資料夾的路徑來當作是它相對於在物件儲存協定裏的物件識別key。如此看來,如果您藉由更名或是藉由網路檔案協定移動了一個資料夾,因而改變了一個資料夾的路徑,它的物件識別key也將被改變。位於檔案系統裏的資料夾將會被當作是一個具0位元組的物件並以其路徑做為它的物件識別key。

您可以選擇以物件方式亦或是檔案系統方式來管理及存取您的資料。

注意: 目前大部分的客戶端程式的設計上都僅適用於一般的S3 跟OpenStack服務,期能有較好的相容性,也因此使用者僅能以ASCII 字元來命名其storage account、container和物件。為了確保OSS能與客戶端程式在執行上能夠相容,當您在命名物件儲存的物體時 (例如: storage account、container等),請記得使用ASCII字元。

存取控制

物件儲存協定可以用識別key來存取,這樣可以取代目前所使用的使用者名稱及密碼的認證機制以維持較高的資訊安全。為了能有更高的安全保護,在系統預設上,使用者並不能直接藉由物件儲存協定來存取資料,您需要將在您的Turbo NAS上或是網域內的帳戶伺服器上的使用者新增至OSS的使用者列表裏,並為他們新增存取金鑰(access key)。

因為物件儲存在預設上只能透過網路來存取,所以在預設上,分享的資料夾並不能以物件儲存協定來存取。您必須手動設定來允許任何的storage account(分享資料夾)能被OSS使用者所存取。即使是一位使用者已經能夠藉由網路檔案協定(如FTP)來存取一分享資料夾,他也不能存取相對應的storage account,您必須將他加入於OSS允許存取此storage account的名單裏。

對於使用者所上傳的物件,則此位使用者會自動被賦予存取的金鑰(access key)。但為了系統管理上的簡便,資料夾及檔案的進階允許存取表單(ACLs),將不會被套用在物件儲存服務上。

大型物件

OSS支援能與S3相容的API上的多重上傳的方式來存取大型物件,及OpenStack 儲存API的大型物件方式。

S3多重上傳允許您將一個物件以一組具有不同部分的集合方式上傳。當這些部份都被上傳之後,資料將會以一個完整的物件方式呈現。

OpenStack大型物件包含兩種物件: 分割物件,其包含物件的內容、manifest物件,其將分割的物件連結到邏輯大型物件。當您下載manifest物件,分割物件的內容將會被合併起來然後回復請求。

OSS支援兩種OpenStack大型物件 : 靜態大型物件(Static Large Object) 和動態大型物件(Dynamic Large Object)。您可以將大型物件分割成小部分來平行上傳,使能夠縮短上傳的時間。如果上傳其一分割的程序失敗,您可以將此程序重新開始,並不需要將所有的部分重來。 注意: OSS 將每一部分(S3的part或是OpenStack的segment) 視為一個檔案來存放。所以您並不能用非物件的儲存協定來存取大型物件。

使用OSS應用程式

大綱

OSS 是基於OpenStack Swift專案來開發的,且在QTS使用上對於效能及管理上的簡化實行最佳化。您可以使用如下的步驟來開始存取您的Turbo NAS:

  1. 從QTS App Center來安裝OSS 程式
  2. 將Turbo NAS的使用者加入OSS的使用者名單
  3. 將所有的OSS使用者建立存取金鑰 (access keys)
  4. 設定storage account的存取權限
  5. 使用S3或是OpenStack 相容的工具來使用物件儲存協定存取資料

安裝及啟動OSS程式

以使用者帳號登入QTS 管理網頁,然後到 [App Center] 裏找 [Object Storage Server] 然後點擊 [新增至QTS],下載及安裝完後您將會在QTS的桌面上及主選單上發現這個應用程式的圖示,點擊 [Object Storage Server] 來啟動它的管理介面。

主選單:

在左手邊的選項裏,您可以切換不同的主選單的網頁使用者介面。如下我們提供了每一個選項的說明:

儀表板:
(1) 檢視物件儲存的統計資料
(2) 物件儲存服務的啟動與停止
(3) 檢視服務端點的URL

使用者:
(1) 管理誰具有使用物件儲存服務來存取資料的權限
(2) 管理使用者存取金鑰 (access keys)

Storage account:
(1) 管理每一個storage account可以被哪些使用者所存取
(2) 建立與刪除storage account
(3) 檢視storage account的空間使用

Container:
(1) 建立與刪除container
(2) 啟用匿名存取
(3) 檢視container的空間使用

服務端點:
(1) 選擇使用內建的伺服器或是QTS 網路伺服器
(2) 設定內建伺服器的服務埠
(3) 設定服務的虛擬主機名稱

儀表板

OSS 提供了一儀表板用來顯示統計資料及物件儲存服務的端點。您可以在此啟動或是停止服務。這裏提供了前一小時、前一天或是前一周的資料。因為每一個storage account都可以對應到一個分享資料夾(且其高階子資料夾也可對應到一個container),所以在您存取物件之前您都能看到已經有數據產生了。於物件儲存API中所使用到的HTTP的GET, HEAD, OPTION, POST, PUT, and DELETE操作方法及所傳輸的資料位元組將會被統計及顯示在此儀表板上。

使用者管理

點擊[Add]來新增一使用者來存取資料。您可以從Tubo NAS的使用者名單來新增使用者,或是選擇網域內的使用者,如果您的Turbo NAS是使用AD 或是LDAP伺服器作為帳號驗證。您也可以刪除在此列表上的使用者。

當您加入一使用者之後,他就可以用他的使用者帳號來取得物件儲存服務。但是使用存取金鑰(access key)還是比較安全的作法。

注意: 當您在QTS上的Control Panel裏刪除一個使用者,在OSS裏的帳號還保存著,您必須在這裏一併刪去。

存取金鑰(access key)管理

您可以替您新增的使用者設定存取金鑰。在您的程式裏使用金鑰作為身分驗證來存取物件。

OSS 提供每一個使用者多重的金鑰。如果某些金鑰被盜取了,您可以將之刪除,這樣做並不會影響您的程式(如果其使用其他的金鑰)。為了安全考量,通常金鑰需要定時的被更換。

點擊[Property]來檢視存取金鑰的詳細資訊。對於OpenStack,服務端點是認證服務的URL; 但對於S3來說,服務端點是其物件儲存服務的URL。如果是使用OpenStack 協定來存取資料,您應該用使用者名稱跟API的key, 但是如是用S3協定,您應該使用存取金鑰(access key)和密鑰(secret key).

因物件儲存具有多重用戶共享的特性,您必須要在OpenStack的使用者名稱及您的S3存取金鑰(access key)指定您的storage account。舉例來說,如果您的OSS key ID是 "bB9MSEIrXEYFGcxXdW7f"而您想要存取"cloudvault"這個storage account,您的OpenStack 使用者名稱或是S3 存取金鑰將會是"cloudvault:bB9MSEIrXEYFGcxXdW7f"。請注意您將只能存取"cloudvault"這個storage account。

Storage account管理

點擊在OSS主選單的[Storage Account]來管理storage account。您將會發現您所有分享的資料夾被列為storage account。您也可以點擊[Create]來新增一storage account,如此也會以預設的分享設定來建立一分享資料夾。您也可以在此點擊[刪除]來刪除storage account,這樣做將會刪除所對應的分享資料夾。

注意: 有一些預設的分享資料夾 (home, homes, USB, 跟TMBackup), 並不能以storage account來被存取。儀表板上的統計功能也會排除這些資料夾。

點擊動作欄位的[Permission]來設定storage account的存取權限。您也可以新增使用者。您只能從OSS使用者名單內加入。當您允許一使用者存取storage account,這個使用者所擁有的存取金鑰(access key)將可被用來存取此storage account。

物件儲存協定提供了一API用來取得container及storage account的使用數據。這可能會影響整體的系統效能,您可以選擇特定的時間/日期來執行此以數據的統計運算。

Container管理

點擊在OSS主選單的[Container]來管理container。container是在分享資料夾裏的高階資料夾。您可以點選一storage account來顯示所擁有的container,也可以新增或是刪除container。

注意: 有一些高階的資料夾並不能如container般地來存取,如: @Recycle、tmp, async_pending還有隱藏檔。儀表板的統計資料也會排除這些檔案。

如果是公用的container將會允許匿名存取其所有的物件。如果您想要讓別人可以下載許多檔案或是使用其container裡的檔案來架設網站,您可以這麼做。您可以點擊一個container的[Permission]來將其權限更改成公用。一個公用的container的URL:
"http://nas_ip_address:oss_service_port/v1/AUTH_storage_account_name/file_path".

服務端點

點擊在OSS主選單的[Service endpoints]來管理服務端點。 OSS 提供兩種資料存取的服務,一是內建的伺服器,另一種是以QTS網站服務提供的虛擬主機方式。如果是使用OSS內建的伺服器您需要設定連接埠,但是它不支援HTTPS。如果您是使用QTS網站伺服器,您需要設定虛擬主機的名稱,然後您的物件存取服務所使用的埠號將會是QTS網站服務的埠號,它也可以支援HTTPS。如果您使用虛擬主機名稱,您的物件存取客戶端程式只能藉由FQDN來使用物件儲存的服務。


問題回報

OSS 應用程式會自動產生問題記錄方便以後的修復。請點擊位於OSS右上方的[i]按鈕。將會有一個小視窗顯示版本資訊及[Generate debug report]按鈕。按此按鈕來下載問題記錄檔並送回至QNAP 客戶服務。

資料保護

OSS 程式並不會複製物件,但您可以將物件存放於RAID硬碟中。RAID比複製的方式提供了更好的儲存效能。您也可以使用RTRR或是rsync來複製所有的物件到遠端的Turbo NAS 或是使用CloudBackup NAS Apps來備份所有的物件於公有雲上。您也可以使用QNAP所提供的硬碟加密技術來安全地保存您的物件。

存取物件儲存

使用CloudBerry 瀏覽器

Cloudberry實驗室提供了一系列的桌面應用程序用於各種雲端儲存環境中來存取和管理資料。請參閱下面的OSS服務連接設置。您可以訪問 http://www.cloudberrylab.com/ 了解更多信息。

  1. 點擊[File]->[S3 Compatible]->[S3-Compatible]來開啟連線設定視窗。
  2. 輸入您的Turbo NAS的IP位置或是FQDN還有埠號於"Service Point",並且輸入存取金鑰(access key)跟密鑰(secret key)。如果您使用虛擬主機,您需要先設定DNS或是更改您的電腦的hosts 檔案來將虛擬主機的名稱對應到Turbo NAS的IP 位置。如果您選擇使用SSL來加密資料的傳輸,且您的Turbo NAS 使用自行核發的SSL憑證,系統將會警告您。
  3. 點擊[Test Connection]此按鈕來確保此設置是正確的。點擊[OK] 來關閉視窗。您將可以開始存取您的資料。

OpenStack Storage瀏覽器

  1. 點擊[File]->[OpenStack]來開啟連線設置視窗。
  2. 輸入OSS OpenStack 的服務端點的URL,並且輸入IP 位置或是Turbo NAS的FQDN還有物件儲存所需的埠號於"Authentication Service",也請一併輸入使用者名稱還有API key. 如果您使用虛擬主機,您需要先設定DNS或是更改您的電腦的hosts 檔案來將虛擬主機的名稱對應到Turbo NAS的IP 位置。如果您選擇使用SSL來加密資料的傳輸,且您的Turbo NAS 使用自行核發SSL憑證,系統將會警告您。請不要啟用"Use Keystone authentication"。
  3. 點擊[Test Connection]此按鈕來確保此設置是正確的。點擊[OK] 來關閉視窗。您將可以開始存取您的資料。

使用QNAP CloudBackup 應用程式

QNAP 提供了CloudBackup應用程式來將您的Turbo NAS上的資料備份至多種不同的雲端儲存服務上,當然也包括S3跟OpenStack。請至QTS App Center來下載這些程式並遵循程式的使用摘要來開始使用物件儲存協定來備份您的資料。

更多的軟體工具

許多程式都支援S3跟OpenStack,如下所列:

開發工具

您可以在網路上找到更多開發S3跟OpenStack程式的開放原始碼:

效能評估

您可以使用以下的工具來評估您的Turbo NAS上的物件儲存服務的效能:

支援的APIs

OSS支援S3和OpenStack API的基本功能。但是,因為OSS整合儲存允許同時使用檔案和物件存取的方式,所以API的行為會略有不同。使用OSS之前,請進行測試。

OpenStack storage

  • Get Account Metadata
  • Swift ACLs
  • List Containers
  • Delete Container
  • Create Container
  • Get Container Metadata
  • Update Container Metadata
  • Delete Container Metadata
  • List Objects
  • Create Object (max object size: 1TB)
  • Create Large Object (support SLO and DLO)
  • Recommend segment size: 5GB
  • Delete Object (support bulk delete)
  • Get Object
  • Copy Object
  • Get Object Metadata
  • Update Object Metadata
  • CORS
  • TempURL
  • Form POST

S3

  • List Buckets
  • Delete Bucket
  • Create Bucket
  • Get Bucket Info (HEAD)
  • Put Object
  • Delete Object
  • Delete Multiple Object
  • Get Object
  • Get Object Info (HEAD)
  • Copy Object
  • Multipart Uploads
發佈日期: 2014-11-28
這篇文章對您有幫助嗎?
謝謝您,我們已經收到您的意見。
謝謝您,我們已經收到您的意見。若有任何問題,歡迎來信 support@qnap.com 。