Sunday, March 1, 2009

[Technology] - New Linux Virtual Machine

Hôm nay Prof. nói tương lai lab sẽ có grid với 200 CPU, cộng với mấy cái máy 8 CPU và 24 CPU hiện có, có thể nói tài nguyên để chạy các thí nghiệm lớn là không thiếu. Vấn đề nằm ở chỗ các cái máy này đều xài Linux, trong khi code của tôi trước giờ chỉ viết trên Windows. Do đó, không có cách nào khác là phải chuyển code sang môi trường Linux. Tôi đã tự hứa mình sẽ làm điều này cách đây vài năm, nhưng đều chưa thành công. Lần này xem như thêm một lần nữa.

Bước đầu tiên của công cuộc "cách mạng" này đó là phải xài máy chạy Linux. Tôi chỉ toàn máy chạy Windows, nên giải pháp đơn giản nhất là dùng máy ảo. Với việc dùng cách tiếp cận của virtual appliance, từ nay máy hiện tại của tôi chỉ cài tối thiểu các phần mềm cần nhất. Các phần mềm thử nghiệm đều bị loại bỏ cho nhẹ máy. Trước đây, cái máy của tôi là một đống hổ lốn, webserver, ftp server, mysql server được cài lên để chạy thí nghiệm cho một dự án; rồi vài đĩa cứng USB gắn vào để lưu dữ liệu, rồi source code để lung tung vì không dùng quản lí version (thực ra cũng khó quản lí version vì code đa số là dùng để thể nghiệm ý tưởng, do đó ko tính chuyện lâu dài được). Bây giờ thì khác, tôi sẽ dùng một máy ảo chỉ dành riêng cho việc development. Phần lưu dữ liệu sẽ là một máy ảo khác. Phần thử nghiệm web lại là một máy ảo khác. Nói chung là tách bạch càng nhiều thành phần càng tốt, mỗi thành phần chạy trên một máy ảo. Bằng cách này, hệ thống sẽ trở nên gọn gàng hơn, dễ kiểm soát và kháng lỗi hơn.

Để cài máy ảo chạy Linux, nếu dùng virtual appliance thì không cần phải tốn công cài hệ điều hành. Chỉ cần download virtual appliance, ví dụ Ubuntu 8.04 LTS từ VMPlanet về, dùng VMWarePlayer nạp lên là có ngay cái máy Linux. Trước đó tôi có thử Fedora, nhưng có một số trục trặc liên quan đến việc kết nối mạng, nên chuyển sang Ubuntu luôn. VA Ubuntu từ VMPlanet đã cài sẵn VMWareTools rồi cho nên xài rất là thích, nhất là không phải dùng các tổ hợp phím Ctrl-Alt và Ctrl-G mỗi lần ra vào máy ảo. Có VMWareTools, chỉ cần đưa chuột vào vùng màn hình của máy ảo là máy ảo sẽ nhận ra ngay, đưa ra khỏi vùng màn hình máy ảo thì máy chủ sẽ nhận ra ngay, không cần click tới, click lui. Dùng bản Ubuntu này cũng có cái thích là nó chỉnh kích thước màn hình để phù hợp với độ phân giải của màn hình hiện có. Một số bản khác, mỗi khi phóng lớn VMWarePlayer lên full screen nhưng cái màn hình của Linux thì vẫn 800x600. Để chỉnh phải thao tác rất phức tạp.

Mặc định bộ nhớ RAM của máy ảo là 512MB. Để tăng RAM cho máy ảo, phải vào mục Troubleshoot của VMWarePlayer để chỉnh lại. Mặc định đĩa là 15GB. Vẫn có thể nới ra nhưng sẽ phức tạp vì chỉ một mình VMWarePlayer không làm được (phải cần VMWareWorkstation hay VMWareServer). Tuy nhiên, cũng ko thành vấn đề vì dữ liệu sẽ được để ở các ổ cứng gắn ngoài hoặc để ở các server khác. Mỗi khi muốn dùng chỉ cần mount lên là xong.

Bước tiếp theo là tạo cho mình một user. User root trong phiên bản VA không có password và ko được login từ màn hình của GNOME. Thay vào đó user vmplanet là một super user có quyền quản trị. Dùng user này để cài đặt các updates, chỉnh lại time zone và cài đặt một số phần mềm dùng Synaptic Package Manager như sshfs, gftp, doxygen, và sun java jdk. (Nếu muốn chỉnh password của root thì có thể dùng lệnh 'sudo su -' )

Để có thể map các thư mục ở các server khác thành một thư mục trên máy này, tôi dùng sshfs theo như hướng dẫn ở đây. Thao tác này không khác thao tác map các shares trong các máy dùng Windows. Chỉ khác ở chỗ Windows làm sẵn mọi thứ, còn ở đây phải tự làm bằng tay. Ngoài ra, muốn nối với ổ đĩa của máy xài Windows cũng được luôn, dùng SMB.

Sau khi cài đặt và cấu hình xong phần hệ điều hành, bước tiếp theo là cấu hình Firefox. Tôi đã liệt kê danh sách các add-ons cần có ở đây. Các add-on không thể thiếu bao gồm Zotero, AutoPager, CoolPreview, Google Toolbar, TreeStyleTab, gTranslate, FlashGot, etc.

Tiếp theo là cài đặt Eclipse. Thực ra có thể cài Eclipse dùng Synaptic Package Manager, nhưng cái phiên bản trong đó hơi cũ, chỉ là 3.2. Do đó, tốt nhất là tự tải về và bung ra để có phiên bản mới hơn là 3.4 (bản Eclipse Classic). Sau đó cài thêm các plug-ins để chạy PHP và C++.

Sau khi cài thêm vài thứ linh tinh khác như UniKey, máy in, etc. Vậy mà một cái máy chạy Linux dùng cho code đã sẵn sàng.

Trước giờ không xài Linux bao giờ nên không biết Linux cũng tiện ơi là tiện. Nếu ko quen với shell commands, thì cứ xài GNOME, không khác gì Windows. Ngoài ra cũng khám phá thêm một điều là với các kiến thức căn bản như thế này, dùng YouTube để tìm các tutorial video để xem và làm theo rất tiện. Ví dụ xem cái tutorial này về PHP và Eclipse, học thêm được vài tính năng của Eclipse và PHP mà trước đây tôi hầu như không biết.

Welcome to the Linux World!

Lê Đình Duy

Xem đầy đủ bài viết tại http://ledduy.blogspot.com/2009/03/technology-new-linux-virtual-machine.html

No comments:

Post a Comment

Popular Posts