2009-02-24 67 views
1

我們有一個商業應用程序,基本上運行在獨立於操作系統的堆棧上(tomcat + java + mysql),但我們一直運行redhat或centos。Linux到OpenSolaris的遷移有多痛苦?

有一位客戶爲了自己的理由堅持在opensolaris上運行它(與Sun公司簽署了一項價格昂貴的支持協議)。

這樣的遷移有多痛苦?我們有很多的配置文件,並支持腳本,如:

  • 阿帕奇
  • 阿帕奇/ tomcat的連接器
  • 與後綴
  • 電子郵件互動
  • 定製服務啓動/停止
  • 幾個cron作業(備份,監控)
  • 不同的用戶和權限(java,mysql,email,backup ...)

我們的構建過程使用我們的業務代碼+一些編輯所有os配置文件的shell腳本輸出.tar.gz文件。

任何以前的經驗。

+1

沒什麼大不了的,除非你碰巧取決於編譯的二進制文件或寫得不好/高平臺特定的編碼。 – 2009-02-24 14:01:48

回答

3

最大的問題將是您用於Linux上提供的非Solaris標準命令中的GNU工具的非POSIX(非標準)選項。您可能會認爲從GNU集合移植相關工具比修改系統更簡單。如果你已經使用絕對路徑命名代碼(/usr/bin/ls),但你決定使用GNU版本,你必須找到解決這些問題的方法。我會非常謹慎地用GNU版本替換OpenSolaris版本;你不知道什麼時候你會打破系統依賴的東西。因此,您可以將GNU命令放在一個單獨的目錄中 - 可能不是/usr/local,因爲這是爲機器所有者填充的,而不是您作爲應用程序管理器 - 並且安排它用於替代系統命令。 (注意:在Solaris上,/bin是與/usr/bin的符號鏈接;我假設OpenSolaris也是如此。)AFAIK,Postfix在OpenSolaris上不是標準的,所以你必須確保你也安裝了。

所有這一切都是可行的 - 沒有什麼不可克服的。但很多取決於你的代碼庫。

+0

不熟悉OpenSolaris,但當天安裝GNU工具非常重要,而且IIRC Sun甚至爲客戶提供了它們的構建版本 – 2009-02-24 14:07:44

1

OpenSolaris的包括了所有的GNU工具已經,只需將您的腳本位於/ usr/GNU/bin中

安裝Postfix的應該不存在任何問題,和Apache/MySQL的存在於基地的OpenSolaris安裝(說實話,酷Web堆棧的東西使其與WAMP/Instant Rails一樣易於管理)。除此之外,SMF的清單(SMF是一種類似OSX啓動的rc腳本的替代品,儘管您仍然可以使用常規的init腳本)可能會讓您的生活更輕鬆,因爲指定依賴關係和運行順序會更好一些(它會遞歸地啓動/也停止所有依賴服務)。

Tomcat當然可以工作,儘管每個我在OpenSolaris上知道的人都使用GlassFish。 YMMV,但部署.war在各處幾乎都是一樣的。

因爲LX品牌區域可以運行Linux二進制文件,並且明確基於CentOS/RHEL,所以將它部署到LX品牌區域(考慮FreeBSD jails或Linux vServer進行比較)可能不是一個糟糕的第一步。

除此之外,OpenSolaris是自b77之後的Xen dom0,並且將CentOS/RHEL加入domU是非常簡單的,如果這是一個選項。你也可以獲得所有Solaris的好東西(DTrace,ZFS,網絡虛擬化[通過CrossBow]等)。誰知道?你甚至可能喜歡它! Java是Java,所以不應該構成任何問題。

0
  • 您可能不得不重寫大部分腳本(用戶創建,服務啓動),因爲它可能在CentOS和OpenSolaris中不同。

  • 如前所述,請您的客戶安裝GNU工具,以便重寫腳本的工作量減少。

  • os配置文件也可能不是相同的格式,您需要檢查。

  • 你的tar.gz文件應該是可以解壓縮的,但是如果你使用GNU工具,你也不會再感到意外了。一些UNIX操作系統有焦油有一些限制

對此有何經驗。

(也許有點offtopic)

我們包,並與我們的腳本中引用的所有二進制分發我們的Java/Tomcat的/ PostgreSQL的/ UNIX應用程序。這意味着對於我們支持的每個操作系統都有1個構建系統,這意味着我們支持我們的應用程序,但也支持外部二進制文件,但最終我們沒有不好的意外客戶。

我們還要求他們在安裝應用程序之前完成所有根操作(用戶創建,目錄創建,sendmail配置,系統調優)。 我們已經爲所有支持的操作系統編寫了關機/啓動腳本,並且它們的安裝是我們在客戶機器上根目錄下唯一的操作。

3

雖然我們不使用OpenSolaris作爲Web服務器,但我們同時運行。

好:

  • 的OpenSolaris自帶的GNU工具,因此,讓您的道路的權利,這是很正常。

  • 大多數事情只是建立和運行得很好。

的不太好:

  • 請確保您已經安裝並使用bash。否則,你使用的所有那些你認爲你使用的bashisms會咬你。

  • 確保您沒有使用硬編碼路徑到/ usr/bin或/ bin。這些工具不是GNU的,因此有不同的選擇。如上所述使用/ usr/gnu。

  • 您沒有大量的軟件包可以直接安裝,就像使用yum或apt一樣。是的,你有一個軟件包管理器,它只是沒有那麼好填充。 因此,您可能會手動安裝軟件包。他們應該安裝,這對您的系統管理員來說只是一點點工作。

  • 您確定OpenSolaris在您的硬件上運行良好嗎?這值得檢查。您可能會發現某些硬件驅動程序沒有經過很好的測試。

否則,我們發現OpenSolaris很好。它有很多好點子。

你看過Nexenta - http://www.nexenta.org/os這是帶有Ubuntu用戶空間的OpenSolaris內核。

0

旁邊的事實,你是一個巨魔,有人上面(開放)的Solaris剛纔說的有: - ZFS - DTrace的

我們可以這樣理解,你是不是怕失去你的RHCE工作,但你再次向我證明了我作爲僱主在面試人員時忽視所有認證的決定是一個很好的決定。看起來很大一部分這樣的人(特別是在微軟的世界裏)並不那麼......開明,很好地說明了這一點。

問候, 亞歷

+0

。巨魔像評論在這個網站不適合。以上不是問題或答案。 – 2010-01-11 07:18:33