:::

令人意外!ORCID目前並沒有自動跟資料庫同步 / Suprise! ORCID could not sync to Dabatase

布丁布丁吃布丁

令人意外!ORCID目前並沒有自動跟資料庫同步 / Suprise! ORCID could not sync to Dabatase

image

我們期望ORCID是一個研究者單一識別目錄,而可以以此修正各資料庫上同名同姓的識別問題,以及可以在作者發表新的著作時自動同步回ORCID。但是在最近的研究中,意外地發現ORCID並沒有做到「自動的同步」這件事情。


陳志銘老師的例子 / Case of Prof. Chih-Ming Chen

image

在引文索引資料庫Scopus上,國立政治大學的陳志銘老師一直苦於自己的著作被誤認為是國立中興大學的陳志銘老師。中興的陳老師有兩百五十幾篇著作,裡面有六十幾篇都是政大陳老師的文章。

知道ORCID可以協助作者來修正資料庫上同名同姓的問題時,政大陳老師很高興地請下面的人協助來做文章與作者對應動作,老師稱此動作「binding」。

柯皓仁老師推廣ORCID已經有很長一段時間,他寫了一篇文章教導大家如何「以Scopus鏈結ORCID」。大致上的步驟如下:

  1. 搜尋作者:我們先搜尋陳志銘老師的英文名稱「Chen, Chih-ming」。
  2. 選擇作者:很遺憾的是Scopus找不到政治大學的陳老師,原因是因為原本在Scopus上陳老師只有一篇文章,因此不會被列到Scopus中。這件事情在與Scopus客服多次來往之後,經由客服找到陳志銘老師的AuthorId之後,才能直接連到陳志銘老師的個人頁面。
  3. 在個人頁面上,增加到ORCID:這時候會開啟ORCID的登入畫面,需要輸入ORCID帳號密碼後登入。
  4. 再次選擇作者:這是為了要找尋文章的先前準備。
  5. 選擇偏好使用的作者名稱
  6. 選擇要加入的文章,或是額外搜尋Scopus原本沒有列入的文章。
  7. 檢視文章對應的結果
  8. 將結果送到Scopus的Author ID:請Scopus的工作人員協助修正文章與作者的對應,需要7個工作天
  9. 匯出著作清單到ORCID:介面中是「Send my publication list」按鈕,這個用意就是匯出到ORCID。

image

由於卡在找不到陳老師的AuthorID這個節骨眼上,所以整個匯入與辨識動作花了不少時間。陳老師在Scopus上60篇的文章用了兩個工作天才彙整完成,不過必須要等7個工作天之後,Scopus上才能正確顯示之前手動辨識的資料。

Scopus的資料並沒有同步到ORCID / Scopus would not sync to ORCID automatically

看到Scopus上正確顯示自己的60篇文章資料,陳老師很是高興啊。可是當我們打開ORCID資料時赫然發現到:

image

著作竟然只有1篇!

(雖然截圖是2篇,但1篇是我的測試,並不是真的老師的文章)

這一篇是當初老師在Scopus正確對應到老師資料的那一篇文章,我們之前先用上述步驟把這篇匯入到ORCID。但是過了7個工作天之後正確對應的其他59篇卻沒有自動匯入到ORCID。

這讓我們心中冒出了一個巨大的問號:難道Scoups的「增加到ORCID」功能,實際上不會自動增加嗎?

因此這就讓我開始想從不同角度來測試看看ORCID與Scopus資料庫之間的同步能做到什麼程度。


臺大醫學院詹老師的案例 / Case of Prof Chan

image

讓我們來看看臺大醫學院AcademicHub中詹老師的情況。臺大的AcademicHub以與ORCID自動同步的強大功能聞名於圖書館界,讓不少人為之嚮往。而從這個頁面上我們可以看到詹老師的著作總共收錄了20篇。

2015-06-25_210329

連到詹老師的ORCID個人頁面,也可以看到這20篇著作。這可是跟香港大學學術庫只是在作者欄位記錄ORCID ID,可是著作幾乎沒有同步到ORCID是不同層次的境界啊!

ORCID的清單上我們可以看到大部分都跟Scopus相連結,因此我們再來進一步看看Scopus上詹老師的AuthorID頁面。

image

著作竟然是21篇

image

比較ORCID上的著作跟Scopus新增的結果,新的著作是2014年10月發表的文章:

image

比對該篇文章的內容,的確是臺大詹老師的著作沒錯。我推測可能是因為詹老師發表時有登錄ORCID,但是我找不到他發表這篇文章的European Journal of Cardio-thoracic Surgery使用的投稿系統CTSNet有使用ORCID的相關資訊就是了。

文章發表到今日已經過了8個月,儘管仍然可能有處理延後等可能性在,但從這個結果來看,Scopus很有可能不會同步資料回到ORCID。


ORCID可以同步到Scopus去嗎? / Is it possible to snyc publications from ORCID to Scoups?

剛剛我們看到了柯老師教我們如何從Scopus匯入資料到ORCID,但是老實說上面幾個步驟下來還是有點麻煩,而且怎麼看都像是在幫Scopus維護資料,而甚至修正後的資料也不太像會回到ORCID。

那麼我們能不能逆向思維:藉由在ORCID上維護正確的著作目錄,來修正Scopus上的辨識作者錯誤的問題?這也是我們一直在追求作者權威控制的最終目的,讓我們來試試看這個功能是不是能夠正常運作。

image

這一篇是我的著作,但很遺憾的是,這篇文章被誤認為是嘉義大學的Chen, Yongting

image

讓我在ORCID上用手動的方式詳細地新增這筆資料到我的Works中,甚至連DOI「10.1108/02640471211241681」都填進去了。

image

結果Scopus上這篇文章依然是在嘉義大學的Chen, Yongting底下,沒有立即自動更新。

錯誤記錄在ORCID上的測試 / How about to add a work but I am not author?

ORCID可以手動新增著作這點,看起來並不像會跟Scopus一樣,會請人花一段時間來審核,而是像是Facebook一樣可以自行新增。於是我們就做了另一個測試:如果在ORCID上故意輸入錯誤的著作文章,而仍然是作者同名同姓的話,那會有什麼結果?

image

這一篇文章雖然不是我的著作,但裡面有另一位真正是嘉義大學Chen, Youg-Ting的作者姓名。

2015-06-26_014759

由於上面輸入了DOI無效,這次我特別從該篇文章的網址找出Scopus Identifier (EID):「2-s2.0-84923949778」來記錄看看。

結果Scopus依然不會同步更新。

文章記錄的來源 / Who add your work?

image

新增的時候,ORCID會記錄新增資料的來源者是誰。如果是我自己新增的記錄,就會記錄我的名字;如果是用上述方式來自於Scopus匯入的資料,就會有Source: Scopus to ORCID的記錄。也許這會是辨識這筆資料到底是否是由權威單位新增的重要欄位,但這也意味著由ORCID並不鼓勵作者自行在ORCID頁面上新增著作,因為作者可能會自己亂寫,就跟我這個測試一樣。


學術出版與ORCID的整合程度 / Is publisher already for ORCID?

ORCID在我的期望中,一直以為是一個能夠自動記錄作者著作的有力工具。照理來說,當研究者投稿到期刊時,如果一併記錄了ORCID,那麼就應該可以自動記錄到ORCID的著作目錄中。

image

教育資料與圖書館學是一個已經從學術傳播的源頭支持ORCID,可以看到這篇「台灣圖書資訊學期刊論文之文內引用錯誤研究」的作者都已經標示了ORCID ID。

image

但是回到作者的ORCID頁面,我們可以注意到這篇文章仍然是作者手動自行增加的記錄,而不是由機構或其他單位自動新增的結果。

教育資料與圖書館學這本期刊是被收錄在EBSCO Host,而不是Scopus。但是EBSCO Host中我找不到如何用ORCID來搜尋作者的方法,在該資料庫中依然是用名字在串聯作者。


在Scopus上無法搜尋ORCID / Could not search ORCID on Scopus

image

在這段過程中,我們發現另一個意外的問題。儘管我們幫陳志銘老師在Scopus的AuthorID正確地對應到ORCID,可是卻沒辦法用Scopus作者搜尋陳志銘老師的ORCID「0000-0002-7088-5516」。

image

另一方面,詹老師的ORCID「0000-0003-3410-605X」甚至連搜尋都無法使用,這可能是因為Scopus以為ORCID只有數字,而「X」卻是在數字範圍之外的錯誤資料。

image

但是我另外搜尋林老師的ORCID「0000-0002-4894-8031」時,Scopus就能夠正確地顯示結果出來。

這也是令我們感到意外的問題,也可能是Scopus目前對於ORCID的整合也尚未成熟吧?


結語:ORCID尚未良好地整合到資料庫 / Conclusion: ORCID is not integrated to database automatically

如果暫時不考慮資料彙集可能是排程或延後進行的問題,那麼根據以上測試的結果我們可以獲得以下結論:

  1. Scopus會收錄作者新發表的文章,並對應到Scopus Author ID作者的著作目錄中。(但不確定這是不是因為ORCID的關係)
  2. Scopus新增的文章不會自動同步到ORCID。
  3. ORCID手動新增的文章不會自動同步到Scopus。不論是對是錯,或是資料是否完整。
  4. Scopus的Author ID即使記錄了ORCID,依然無法全面使用ORCID來搜尋作者。

比較令人困擾的是2跟3無法自動同步的這點。因此以下我跟大家討論一下,看看未來ORCID是否會做到這種程度的可能性。

Scopus可能自動同步到ORCID嗎? / Will Scopus sync to ORCID?

有一種說法是:ORCID是非營利機構,Scopus是盈利企業,所以盈利企業應該不會平白無故貢獻自己辛苦整理的書目資料給ORCID。也就是說,看起來這件事情不太可能。

當然,我們相信在圖書館工作的人都是心地善良、無悔付出的好人,也許有朝一日Scopus良心發現,可能會有所改善。

ORCID可能自動同步到Scopus嗎? / Will ORCID sync to Scopus嗎?

同樣地也有一種說法:ORCID是站在開放的角度,但是Scopus則是盈利事業。因此要一個非營利單位來修改賣錢系統上的資料,也一樣不太可能。

不過在談ORCID到底能不能同步到Scopus的這件事情之前,我想應該要先解決ORCID自行建置的著作目錄可能不具權威性,也就是作者自行亂建錯誤資料的問題。審查資料的正確性需要花費大量的人力,這是一個非營利單位ORCID可能負荷的了的工作嗎?我內心充滿質疑。

ORCID是一個可信賴的目錄嗎? / Is ORCID an authoritative directory?

從上面的討論看下來,目前的ORCID只能說是一個開放資料交換的目錄,有提供現在流行的RESTful API。然而,ORCID尚未有良好的權威控管,也沒有全自動地跟其他資料庫之間整合,以維護作者資料的正確性。

ORCID要做到廣納百川、成為最終大家參考、分析的權威目錄,可能還得要先克服前面的眾多問題。到底是否值得在ORCID維護自己的著作目錄,我認為可能還要再觀望一陣子比較好。

image

題外話,在Google學術搜尋上維護我的著作目錄如何呢?

(more...)

ORCID的公開API簡介 / Introduction of ORCID's Public API

布丁布丁吃布丁

ORCID的公開API簡介 / Introduction of ORCID's Public API

image

ORCID提供了兩種API,一種是要以機構付費的會員API,一種是免費公開的API。作為一個研究者,我們來看看公開API有提供什麼功能,可以讓我們可以應用在書目計量的資料分析上。


API是什麼方式運作? / How to use ORCID's API?

image

ORCID在「INTRODUCTION TO THE ORCID PUBLIC API」中介紹他們的公開API,做法是用OAuth 2.0註冊後搭配RESTful API的方式運作。但即使沒有用OAuth註冊,也可以直接用RESTful API來查詢。

雖然REST對網頁工程師來說就跟「吃飽沒?」一樣是個家常便飯的問候,但對只聽過Z39.50、OAI-PMH的圖書館員來說可能不是這麼的熟。Marshall Breeding在「Interoperability and Standards」(2013)一篇文章中是以「Application Programming Interfaces」來介紹RESTful API。這是一種類似在網頁表單中輸入資料、傳送資料給伺服器、取回資料的資料運作方式,但是基本上全部都是以程式碼的方式運作,以達到自動化資料操作、查詢、交換的目的。換句話說,RESTful API不是人直接輸入一個查詢語句,然後就可以將匯出結果成為Excel表格的工具。

附帶一提,RESTful API是一種風格架構(所以是ful,意思是「的樣子」),本身並沒有像Z39.50跟OAI-PMH有嚴謹的定義,各家的RESTful API都有各家的發展方式,所以Marshall Breeding在這部分也沒有辦法詳盡介紹。

儘管如此,在以TCP/IP架構下的網際網路中,RESTful API依然是大家普遍認同的API開發方式。ORCID也不例外,在部分資料的查詢上也開放了RESTful API的途徑。


查詢研究者資料的Public API / Public API of Researcher

image

ORCID在「TUTORIAL: RETRIEVE DATA WITH THE PUBLIC API WITH CURL 1.2 AND EARLIER」介紹如何查詢研究者的資訊,查詢的資料有三種:

  • Bio (/orcid-bio):回傳名字跟個人資訊。
  • Works (/orcid-works):回傳所屬機構清單、文章作品以及被贊助的文章。
  • Full (/orcid-profile):回傳全部ORCID的資料,也就是上述兩種資料。

image

我們來以我自己的ORCID頁面為例。我的ORCID是「0000-0003-3751-610X」,那麼我們可以簡單地用以下三種網址來查到三種研究者的個人資料:

查詢研究者的資訊 / Get Researcher’s Profile

image

Full為例,我們會下載一個名為「orcid-profil」的XML檔案。一般來說會以文字編輯器(例如Notepad++)開啟,可是IE的XML檢視介面做得挺好的,所以我們也可以用IE來看看。

要解讀這個XML檔案,我們可以從大綱看起。orcide-profile底下有以下幾種資料:

  • orcid-identifier:記錄ORCID帳號資訊
  • orcid-preferences:使用語言
  • orcide-history:帳號更新資訊,可以瞭解這個帳號是機器人建立的還是人手工建立的。
  • orcid-bio:個人公開履歷
  • orcid-activites:這一項裡面包含兩種資訊
    • affiliations:所屬機構,以及年分
    • orcid-works:發表文章資訊。

image

API也可以查到新增這篇文章的來源是來自誰,從這裡可以看到是我自己建置的資料。

查詢機構的資訊 / Get Organization’s Profile

image

如果是以機構為對象,那會查到什麼呢?我們以AcademicHub跟ORCID密切整合的臺大醫學院為例來查詢看看:

因為臺大醫學院的ORCID公開資訊上就只有ORCID ID資訊而已,所以API查到的結果也就只有帳號的資訊。可惜沒能看到機構底下所屬研究者的資訊。


搜尋的公開API / Searching Public API

image

ORCID的搜尋API教學「TUTORIAL: SEARCHING WITH THE API 1.2 AND EARLIER」介紹了如何以RESTful API來執行搜尋。

image

雖然教學一開始有提及機構會員可以用OAuth的方式先登入,這樣可以進一步取得ORCID中被設為「trusted parties」(被信任的機構)的資訊,但我們依然可以用公開API來找尋被公開的資訊。

首先我們來看看搜尋API可以查詢什麼欄位:

  • orcid (//orcid-profile/orcid-identifier):就是ORCID的ID,例如我的「0000-0003-3751-610X」。
  • given-names (//orcid-profile/orcid-bio/personal-details/given-names):作者設定的名稱
  • family-name (//orcid-profile/orcid-bio/personal-details/family-name):作者的姓
  • credit-name (//orcid-profile/orcid-bio/personal-details/credit-name):作者一般出現在發表文章上的名稱
  • other-names (//orcid-profile/orcid-bio/personal-details/other-names):作者其他的名稱。
  • email (//orcid-profile/orcid-bio/contact-details/email):作者的email。這是一個很實用的查詢欄位
  • external-id-reference (//orcid-profile/orcid-bio/external-identifiers/external-identifier/external-id-reference):其他系統上的作者辨識碼,例如Scopus的Author ID
  • digital-object-ids* (//orcid-profile/orcid-activities/orcid-works/orcid-work/work-external-identifiers/work-external-identifier[work-external-identifier-type="doi"]/work-external-identifier-id):從文章的DOI反查作者。這也是實用查詢欄位
  • work-titles (//orcid-profile/orcid-activities/orcid-works/orcid-work/work-title/(title|subtitle) ):從作品發表反查作者。
  • keywords ( //orcid-profile/orcid-bio/keywords/keyword ):查詢作者的關鍵字欄位(自己可以為自己設關鍵字)。
  • creation date (//orcid-profile/orcid-history/submission-date):查詢作者建立ORCID帳號的時間。(這個不是作品的時間喔)
  • last modified date (//orcid-profile/orcid-history/last-modified-date):作者最後修改的時間。
  • text (//orcid-profile/orcid-bio):所有以上的欄位。
搜尋文章標題 / Search Work Title

我們先試著查查看一個明確的欄位「work-titles」好了。

image

很好,第一筆就是我的ORCID。看來ORCID使用的Lucene全文搜尋引擎即使面對中文也運作良好!

用任意欄位搜尋所屬機構 / Search Affiliations by Any Fields

各種排行都很注重以機構為主、統計機構中研究者發表的數量,所以我們很注重作者所屬機構的資訊。雖然ORCID的搜尋API沒有所屬機構的欄位,但我們可以用text來查詢看看:

image

第一位是Yi Shen,是政大圖書館的核心館員之一。第一筆就是圖資界的前輩,所屬機構也的確是政大,真是準確。

第二位是Yuei-An Liou,現職為國立中央大學特聘教授。可是奇怪的是,劉老師的ORCID公開資訊上沒有找到檢索詞「國立政治大學」。我猜可能是「國立政治大學」被斷詞為「國立」、「政治」、「大學」,所以找到很多「國立」跟「大學」的資訊。

第三位ty yeh也是在自己的履歷上寫了很多「國立」跟「大學」,可惜這位也不是隸屬於國立政治大學的同仁。

用email搜尋所屬機構 / Search Affiliations by Email

Email是另一個可以標示所屬大學的查詢方式。所以我想用email應該可以找出對應機構的作者,除非作者不公開email資訊。

讓我們以政大的Domain Name 「*@nccu.edu.tw」來查詢看看。必須注意的是,這裡要搭配萬用字元*來做查詢喔:

image

第一位就是大力推動ORCID的邱炯友老師。不過搜尋結果也只有一位而已,這可能是因為大家的email預設都是不公開的緣故。

讓我來看看以AcademicHub跟ORCID密切整合的臺大醫學院能不能用email「*@ntu.edu.tw」來查詢:

查詢結果為24筆,跟AcademicHub上的801筆資料有相當大的落差。

2015-06-25_235539

這不僅是因為預設並不公開作者的email,而且連老師似乎也不是以ntu.edu.tw為主要的email,而是選用gmail.com。

因此從上面的兩點來看,email似乎不是一個適合用來搜尋所屬機構的好方法,因為:

  1. email預設是不公開的資訊
  2. 並不是所有人都用機構發行的email來註冊ORCID

除非ORCID開放檢索所屬機構欄位,不然看來目前沒有能夠完整找到作者所屬機構的檢索方式。


結語:ORCID是一個稱職的研究者公開查詢目錄 / Conclusion: ORCID is a good researcher public directory

儘管ORCID的API並非採用圖書館界中交換典藏資料常用的OAI-PMH或Z39.50的下一版SRU,但是依然提供了現在網頁開發流行的RESTful API與OAuth認證,十分具有現代網站的風範。

站在想要以大學為單位來統計研究者著作發表的書目計量角度,本文試著以Public API來看看如何才能取得完整的作者資訊。但是目前看來搜尋功能尚未考量到所屬單位的欄位,目前還沒辦法很準確地以機構來找到所屬作者。也就是說,ORCID現在還難以支援以機構為分析對象的書目計量統計。

但是因為ORCID可以記錄研究者的所屬單位,所以相信這就跟檢索作品題名(work-titles)是類似的欄位,因此這非是不可能做到的功能。讓我們繼續拭目以待ORCID的成長吧!

(more...)

SMA21平床式掃描機操作說明與驅動程式 / SMA21 Scanner Manual and Driver

SMA21平床式掃描機操作說明與驅動程式 / SMA21 Scanner Manual and Driver

image

SMA21  是一台操作比較複雜的平床式掃描機。我製作了一份教學投影片供使用者參考,連帶一併備份驅動程式。


操作說明投影片 / Manual Slide

下載:Google DriveOneDriveMegaSlideShare 

亮度不足的問題 / Lack of Brightness

image

必須額外說明的是,由於我們這台掃描機在亮度判斷上有點問題,所以這份說明裡面會特別教大家把亮度(Brightness)調到最亮再來掃描。

Scanned Image

 

但是調整完之後亮度還是不太夠。這時候我會使用影像處理工具的自動色階再做進一步的處理。

自動色階的定義可以參考Photoshop的說明 。簡單來說,影像中最亮的地方會被調整成白色、最暗的地方會被調整成黑色,其他的顏色則按照比例調整。這樣會讓最亮的地方看起來很白、最暗的地方看起來夠黑,影像會變得對比比較清楚。

一般時候影像處理工具不用用到Photoshop這麼龐大的工具,簡單的XnView就可以做到了。

image

操作方式是在 圖片 > 對映 > 自動色階。點下去就會調整完成。然後按下存檔就可以了。我們可以比較一下調整自動色階前後的兩張圖片,應該會覺得調整之後比較亮吧。

Scanned Image Scanned Image
調整自動色階之前 調整自動色階之後

SMA21掃描機的安裝 / Installation of SMA21 Scanner

SMA21掃描機的安裝分成網路卡安裝與驅動程式Batch Scan Wizard的安裝兩個部分,以下個別說明。

網路卡的安裝 / Installation of Network Card

SMA21平床式掃描機的資料傳輸方式跟一般用USB連接的掃描機有很大的不同。SMA21本身就是一台電腦,可以獨立完成掃描的工作,而搭配操作的工作站只是給予操作指令而已。

gdimage

SMA21掃描機是採用網路線在傳輸資料,因此工作站上必須要額外的網路卡連結SMA21。一般來說會額外購買一張USB網路卡來使用,速度到100Mbps就足以使用 。

20150622-173804-screenshot6

然後設定網路卡的網路位址。我們要連結SMA21掃描機與工作站電腦,因此這兩台電腦必須位於同一個區域網路底下。

SMA21掃描機的預設網路位址是:

  • IP位址:192.168.1.50
  • 子網路遮罩:255.255.255.0

因此工作站電腦的網路卡設定則是:

  • IP位址:192.168.1.51
  • 子網路遮罩:255.255.255.0
  • 閘道口:(不要設定閘道口)

然後把SMA21掃描機跟工作站電腦用網路線連接起來即可。

驅動程式Batch Scan Wizard的安裝 / Installation of Batch Scan Wizard

依照作業系統的版本不同,Batch Scan Wizard有32位元與64位元兩種版本。雖然當初買SMA21時,還是使用Windows XP 32位元,但現在大部分的電腦幾乎都是64位元了。安裝時請務必選擇正確版本安裝:

20150622-173401-screenshot5

20150622-172810-screenshot1

安裝之後要先在Batch Scan Wizard 64bit > Setup 64bit裡面設定SMA21的網路,然後就可以照投影片裡面的教學一樣開始操作了。


結語:陪我一起進入研究所的好麻吉 / Conclusion: It is my friend while I study in graduate school

這台SMA21掃描機是在我剛進入政大圖檔所的時候從國外買進來的。當時來了一位胖胖的德國工程師,跟我們一起從巨大的木箱中開箱、搬運、設置。然後又花了幾天的時間教我怎麼操作這台掃描機,還很自豪地掃描了紙幣上肉眼看不出來的小字。這位工程師是一位喜歡到處旅遊的人,不時跟我炫耀他去過的景點。雖然我英文不好,很難完全理解他在說什麼,不過看得出他十分開心。

在一開始計劃執行期間還有蠻多人使用這臺掃描機,但是計劃執行結束之後,這臺掃描機因為操作難度太高,也就很少同學願意使用,變成每次炫耀設備時拿來看一眼的裝飾品。儘管如此,我跟少數幾位同學還是非常喜歡這臺掃描機,像是我常常都會拿大量文件跟書本來掃描,效率比一般USB掃描機快很多。

時過境遷,現在掃描機的DPI動輒1200,SMA21最多仍然只能掃描600DPI。雖然可以掃描到A2尺寸,但是也沒有那麼多人需要,最後就把它轉移到其他單位去使用。至今我仍然偶爾會過來看看它,掃掃書本。雖然它很老了,但還是希望它能夠繼續陪我到博士畢業啊。

對了,最後補充一下,雖然SMA21有書籍掃描模式,但不會幫你翻書。是說怎麼這麼多人都期待掃描機會自動翻書,你都不怕機器弄破書頁嗎?

(more...)

修復Proxmox VE:增加第二顆硬碟到LVM / Fix Proxmox VE: Add Another Disk to LVM

布丁布丁吃布丁

修復Proxmox VE:增加第二顆硬碟到LVM / Fix Proxmox VE: Add Another Disk to LVM

pablo

之前我寫過「Proxmox VE增加第二顆硬碟」的做法,是用額外掛載的方式來新增一個新的Storage。這次我要做的是比較完整的做法:將新增加硬碟加入LVM中。操作步驟主要參考Jarrod的LVM教學


操作環境 / Proxmox VE Environment

2015-06-21_222426

本文是以Proxmox VE 3.4為例子,以VirtualBox來架設。重點是這個電腦有兩顆硬碟,Proxmox VE是安裝在第一顆硬碟中,第二顆硬碟是空的。

操作步驟 / Operation Process

Step 1. 登入 / Login

image

你可以用Proxmox VE的Web GUI中的Shell來登入,也可以直接登入本機端。總之要先以root的身份操作指令。

Step 2. 分割新的硬碟 / Partition the new disk

首先我們要確定新硬碟的路徑。一般來說,第一顆SATA硬碟為 /dev/sda 、第二顆為 /dev/sdb,而IDE的路徑則是 /dev/had 、第二顆則是 /dev/hdb。詳情請看鳥哥的說明

因為我安裝的是第二顆的SATA硬碟,所以路徑為 /dev/sdb。

硬碟的分割要使用fdisk,搭配第二顆硬碟的路徑/dev/sdb,指令如下:(粗體的地方表示是我們要輸入的指令)

root@pve:~#fdisk /dev/sdb

接下來會跳到fdisk的對話介面:

Command (m for help):

如果該硬碟裡面已經有資料,那就要用d指令來刪除。

Command (m for help): d

Selected partition 1

image

然後新增磁碟分割區,建立一個主要分割區,空間為整顆硬碟:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): "enter"
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): "enter"
Using default value 2610

image

然後將該分割區的檔案類型修改為Linux LVM:

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

image

最後將分割表的資訊寫入硬碟:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

image

完成。新增硬碟的磁碟分割位置為 /dev/sdb1。

Step 3. 增加邏輯捲軸 / Increasing the logical volume

接下來要連續輸入四個指令。注意裡面的磁碟分割路徑 /dev/sdb1,這是剛剛用fdisk新增的磁碟分割。

pvcreate /dev/sdb1
vgextend pve /dev/sdb1
lvextend /dev/pve/data /dev/sdb1
resize2fs /dev/pve/data

image

這樣就把第二顆硬碟新增到Proxmox VE的local空間中。

image

使用lvdisplay指令來看看結果,可以發現/dev/pve/data的空間已經新增到了12.37GiB。

這樣就大功告成囉!同樣的這種做法也可以用在第三顆、第四顆硬碟上面,繼續擴大local的硬碟空間。

將硬碟從LVM中移除 / Remove disk from LVM

既然我們可以新增硬碟到LVM,那一樣可以從LVM中移除硬碟。但是這個步驟就比新增還要複雜很多,細節可以參考鳥哥的縮小LV容量,如果那天我遇到這種情況了再來深入研究吧。


結語:使用LVM的風險 / Conclusion: The risk of LVM

現在Linux在安裝時預設都是以LVM的形式來分割磁碟,所以對大多數的人來說都感覺不到LVM的存在。LVM雖然能夠像上面這樣任意擴充一顆硬碟來增加空間,但是LVM是一種以任意調整容量為目的的檔案系統,安全性、可恢復性則不在考量範圍內。而且LVM預設是用線性模式在寫入資料,一顆硬碟滿了再放下一顆,存取方式無法與RAID相比。簡單來說:

  1. 當LVM裡面其中一顆硬碟毀損時,你得花很多功夫來調整LV,以移除壞掉的硬碟。
  2. 其他作業系統無法讀取以LVM管理的硬碟資料,也無法用Gparted之類的工具來調整硬碟分割。
  3. 結合以上兩點,如果LVM的作業系統毀損、無法開機。除非是用救援模式進入系統,不然不能用外接硬碟的方式讀取LVM的資料。

既然大部分Linux發佈版預設都用LVM,我們應該也無法擺脫LVM壞掉時的風險。因此在使用LVM時,一定要有壞掉之後很難復原的心理準備喔。

(more...)