Showing posts with label Linux Ubuntu. Show all posts
Showing posts with label Linux Ubuntu. Show all posts

8 lý do chuyển từ Windows sang Linux

Bây giờ là thời điểm rất tốt để từ bỏ Windows chuyển sang Linux cả trên máy trạm lẫn máy chủ.
Microsoft đã dừng hỗ trợ Windows Server 2003 từ ngày 13/7/2010. Điều này có nghĩa là bạn cần tìm phần mềm khác để quản lý các máy chủ của mình. Bạn có thể chuyển từ Windows Server 2003 lên phiên bản mới hơn là Windows Server 2008 để nhận tiếp tục được hỗ trợ của Microsoft hoặc chuyển sang dùng Linux. Ở lĩnh vực máy trạm, những người mệt mỏi với hệ điều hành đầy rẫy lỗi Windows Vista cũng chỉ có cách chuyển lên Windows 7 hoặc chuyển sang nền tảng mới tự do hơn là Linux.
Có thể bạn tin rằng từ bỏ Windows để chuyển sang Linux là việc khó nhưng thực tế đó là vấn đề nhận thức. Không ít doanh nghiệp đã nhận thấy rằng Linux, một thời là hệ điều hành dành cho giới học thuật, nay đã cung cấp các dịch vụ và tính năng cần thiết cho nhu cầu của họ. Linux tiếp tục gia tăng hiện diện trong các trung tâm dữ liệu lớn nhất thế giới, trên hàng trăm nghìn máy tính để bàn cá nhân và hiện chiếm gần 10% ngành dịch vụ điện toán đám mây.

Có nhiều lý do để rời bỏ Windows chuyển sang Linux. Ảnh minh họa.
Hãy dành chút thời gian khám phá Linux và sử dụng nó trong môi trường doanh nghiệp của bạn. Đây là 8 lý chí ít bạn cũng nên dành chút thời gian tìm hiểu về Linux.
1. Hỗ trợ thương mại
Trước đây, các doanh nghiệp coi việc thiếu hỗ trợ thương mại là lý do chính để họ trung thành với Windows. Ba nhà cung cấp Linux thương mại lớn Red Hat, Novell và Canonical đã làm tiêu tan lo ngại này. Chỉ một trong các công ty này đã đủ năng lực đáp ứng nhu cầu các dịch vụ và ứng dụng quan trọng trong doanh nghiệp của bạn.
2. Hỗ trợ .NET
Các doanh nghiệp đã chuẩn hóa trên công nghệ của Microsoft, đặc biệt là công nghệ web .NET, có thể dùng Linux để hỗ trợ những ứng dụng .NET. Novell hiện sở hữu và hỗ trợ dự án Mono đảm bảo sự tương thích giữa Linux với nền tảng .NET. Một trong những mục tiêu của dự án Mono là cung cấp cho các doah nghiệp khả năng được lựa chọn và vượt qua sự khép kín công nghệ của Microsoft. Ngoài ra, dự án Mono còn cung cấp các tiện ích plugin để những người phát triển .NET có thể dễ dàng chuyển đổi các ứng dụng .NET dựa trên Windows mà không cần thay đổi các công cụ phát triển quen thuộc của mình.
3. Sự ổn định
Sự ổn định của Linux mang lại cho các doanh nghiệp sự yên tâm rằng các ứng dụng của họ sẽ không bị gián đoạn kéo dài do sự bất ổn của hệ điều hành. Linux đang hưởng thụ lợi thế hơn hẳn này so với Windows giống như người họ hàng Unix đã làm được. Sự ổn định này có nghĩa là Linux có thể hỗ trợ tới 99,999% các yêu cầu dịch vụ của doanh nghiệp. Khởi động lại sau mỗi tải lần bản vá hay thay đổi driver khiến cho Windows trở thành lựa chọn không ổn định và không đáng tin cậy với những người cần hỗ trợ liên tục cho các dịch vụ và ứng dụng trọng yếu của họ.
4. Bảo mật
Không có hệ điều hành nào an toàn 100% và Linux không phải là ngoại lệ. Nhưng Linux mang lại sự an toàn tuyệt vời cho người dùng nó. Từ những cập nhật lõi (kernel) đều đặn đến danh sách các bản vá bảo mật gần như hàng ngày, những người canh cửa bộ mã Linux đã giữ cho các hệ thống Linux rất an toàn. Các doanh nghiệp sử dụng các hệ thống Linux có hỗ trợ mất phí có thể nhận được tất cả các bản vá lỗi. Với Linux, bạn có một cộng đồng toàn cầu cung cấp các bản vá bảo mật, chứ không chỉ lệ thuộc vào một công ty như với những người dùng nền tảng Windows.
5. Cũng dễ dùng như Windows
Trước đây, những người quản trị Windows thấy rằng việc sử dụng bàn phím thay cho chuột là một trong những khó khăn cho việc chuyển đổi sang Linux. Nhưng Linux hiện cũng sử dụng các giao diện người dùng đồ họa (GUI) giống như Windows, chứ không chỉ sử dụng dòng lệnh như trước.
6. Yêu cầu phần cứng thấp
Các doanh nghiệp sẽ thích thực tế là những hệ thống “lỗi thời” của họ vẫn sẽ chạy được Linux và chạy ngon lành. Đây là điều thú vị với những người dùng Linux, không cần nâng cấp phần cứng để đáp ứng mỗi lần thay đổi phiên bản của phần mềm. Linux cũng chạy trên cả kiến trúc x86 32-bit và 64-bit. Nếu máy tính của bạn chạy Windows, nó cũng sẽ chạy được trên Linux. Tuy nhiên, máy chạy Linux có thể không chạy được trên Windows.
7. Linux là tự do
Có thể bạn đã nghe câu nói Linux là tự do. Không chỉ tự do và miễn phí bản quyền, Linux còn cho phép doanh nghiệp được tự do sáng tạo, sửa đổi và nâng cấp mã nguồn. Điều này đã giúp tạo ra các công ty như Google, hãng đã tận dụng khả năng tự do của Linux để trở thành doanh nghiệp thành công.
8. Cộng đồng toàn cầu
Linux có sự hỗ trợ của cộng đồng các nhà phát triển trên toàn cầu đóng góp vào việc cải tiến mã nguồn cũng như vá các lỗi bảo mật. Cộng đồng tích cực này còn cung cấp cho các doanh nghiệp sự hỗ trợ miễn phí thông qua các diễn đàn và các website cộng đồng.
Các nơi cung cấp Linux
Nếu bạn muốn thử dùng Linux, có nhiều bản phân phối có thể tải về miễn phí và sử dụng không cần bất hợp đồng hỗ trợ thương mại nào:
CentOS – bản phân phối Linux dành cho doanh nghiệp của Redhat.
Ubuntu – bản phân phối Linux dành cho doanh nghiệp (có dịch vụ hỗ trợ thương mại).
Fedora – Phiên bản dựa trên Linux của Red Hat.
OpenSUSE – Phiên bản SUSE Linux miễn phí của hãng Novell.
Debian – bản phân phối gốc của nhiều bản phân phối Linux như Ubuntu và Linux Mint.
Bạn có thể tìm thông tin liên quan đến quá trình chuyển đổi từ Windows sang Linux thông qua tổ chức Linux Foundation hoặc các thành viên kim cương của tổ chức này.

Theo ICTNews (PC World)

Hướng dẫn cài đặt VMWare Server 1.0.x trong Kubuntu 10.04 Desktop

Trong bài viết sau, Quản Trị Mạng sẽ giới thiệu với các bạn hướng dẫn chi tiết các bước cài đặt ứng dụng Vmware Server 1.0.x trên hệ thống Kubuntu 10.04 desktop. Cách làm này dành cho những ai thích sử dụng VMware Server 1.0.x hơn so với VMware Server 2.
Với VMware Server, các bạn có thể tạo và sử dụng những hệ điều hành phụ - guest (vẫn thường gọi là máy ảo - virtual machines) như Linux, Windows, FreeBSD … bên trong hệ điều hành chính – host. Lợi thế rất dễ nhìn thấy của việc này là cho phép ta nghiên cứu, phát triển trực tiếp nhiều ứng dụng, hệ điều hành và những lĩnh vực khác trong cùng 1 hệ thống phần cứng có sẵn, và giúp ta tiết kiệm được rất nhiều thời gian, chi phí và công sức bỏ ra so với trước khi chưa có khái niệm máy ảo, bên cạnh đó, các bạn cũng có thể di chuyển, sử dụng những hệ thống máy ảo này từ VMware Server sang hệ thống khác (hoặc 1 hệ thống có ứng dụng miễn phí VMware Player).
Mặt khác, với VMware Server bạn có thể sử dụng hệ thống Windows desktop hoạt động bên trong hoặc song song với Kubuntu desktop. Việc này cũng rất có ích đối với 1 số ứng dụng chỉ hoạt động với Windows, nếu bạn muốn chuyển sang Linux.
Cài đặt VMWare Server 1.0.x
Để tải ứng dụng VMWare Server, đăng nhập vào trang này và chọn đường dẫn VMware Server 1.0.10:
Tới trang tiếp theo, nhấn vào nút Download và chọn VMware Server for Linux (định dạng tar.gz, không phải rpm):
Để tiếp tục, bạn phải đồng ý với thỏa thuận và các điều khoản đưa ra bởi nhà sản xuất, nhấn nút Yes:
Sau đó, tiến hành tải file VMware Server for Linux .tar.gz về máy tính (ở ví dụ này là /home/mum/Downloads):
Tiếp tục với bước đăng ký tại VMWare, điền đầy đủ thông tin cái nhân vào form có sẵn, khi hoàn tất bạn sẽ được chuyển tới trang tiếp theo cung cấp key kích hoạt cho VMware Server:
Tiếp theo, mở ứng dụng Terminal (Applications > System > Terminal):
Gõ câu lệnh sau để bắt đầu cài đặt những gói – package cần thiết:
sudo apt-get install build-essential xinetd
Nếu hệ thống của bạn là x86_64, thì cần cài đặt thêm gói ia32-libs hỗ trợ:
sudo apt-get install ia32-libs
Mở thư mục bạn lưu trữ VMware Server .tar.gz (ở đây là /home/mum/Downloads):
cd /home/mum/Downloads
Giải nén gói VMware Server .tar.gz và kích hoạt ứng dụng cài đặt:
tar xvfz VMware-server-*.tar.gz
cd vmware-server-distrib
sudo ./vmware-install.pl

Bước này sẽ hỏi bạn rất nhiều các câu hỏi, các bạn có thể chấp nhận phương án trả lời mặc định đơn giản bằng cách nhấn ENTER. Khi chọn trả lời với phương án NO:
Before running VMware Server for the first time, you need to configure it by
invoking the following command:
/usr/bin/vmware-config.pl
Do you want this program to invoke the command for you now? [yes] <-- no

Bạn sẽ nhận được thông báo lỗi tương tự thế này khi trình cài đặt tiến hành biên dịch các kernel module cần thiết dành cho VMware (tương tự như khi bạn chọn YES, thực ra là không có vấn đề gì nghiêm trọng, tiếp tục đọc và chú ý đến thông báo):
Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.32-22-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-22-generic'
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/./include/vmware.h:25,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:48:
/tmp/vmware-config0/vmmon-only/./include/vm_basic_types.h:104:7: warning: "__FreeBSD__" is not defined
In file included from /tmp/vmware-config0/vmmon-only/./include/x86.h:20,
from /tmp/vmware-config0/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/x86apic.h:79:1: warning: "APIC_BASE_MSR" redefined
In file included from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/apic.h:11,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/smp.h:13,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/mmzone_64.h:12,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/mmzone.h:4,
from include/linux/mmzone.h:773,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:12:
/usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/apicdef.h:133:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config0/vmmon-only/./include/x86.h:21,
from /tmp/vmware-config0/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/x86desc.h:593:7: warning: "_MSC_VER" is not defined
In file included from /tmp/vmware-config0/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/x86.h:830:1: warning: "PTE_PFN_MASK" redefined
In file included from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/paravirt.h:7,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/irqflags.h:61,
from include/linux/irqflags.h:57,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/system.h:11,
from /usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/processor.h:17,
from include/linux/prefetch.h:14,
from include/linux/list.h:6,
from include/linux/module.h:9,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:12:
/usr/src/linux-headers-2.6.32-22-generic/arch/x86/include/asm/pgtable_types.h:182:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config0/vmmon-only/./include/vcpuset.h:78,
from /tmp/vmware-config0/vmmon-only/./include/modulecall.h:22,
from /tmp/vmware-config0/vmmon-only/./common/vmx86.h:18,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:16,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:226:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:230:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:298:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:304:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:357:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:402:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:446:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:489:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:533:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:576:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:620:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:663:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:665:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:705:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:748:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:750:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:790:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:831:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:833:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:871:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:912:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:914:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:952:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1073:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1077:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1124:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1329:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1454:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_atomic.h:1587:7: warning: "_MSC_VER" is not defined
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.h:20,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.h:20,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:60: error: conflicting types for ‘poll_initwait’
include/linux/poll.h:70: note: previous declaration of ‘poll_initwait’ was here
In file included from /tmp/vmware-config0/vmmon-only/./include/vm_asm_x86_64.h:23,
from /tmp/vmware-config0/vmmon-only/./include/vm_asm.h:28,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:52:
/tmp/vmware-config0/vmmon-only/./include/vm_asm_x86.h:430:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_asm_x86.h:676:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config0/vmmon-only/./include/vm_asm_x86.h:716:7: warning: "_MSC_VER" is not defined
In file included from /tmp/vmware-config0/vmmon-only/./include/vm_asm.h:28,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:52:
/tmp/vmware-config0/vmmon-only/./include/vm_asm_x86_64.h:40:7: warning: "_MSC_VER" is not defined
In file included from /tmp/vmware-config0/vmmon-only/linux/vmhost.h:13,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:71:
/tmp/vmware-config0/vmmon-only/./include/compat_semaphore.h:5:27: error: asm/semaphore.h: No such file or directory
/tmp/vmware-config0/vmmon-only/linux/driver.c:146: error: unknown field ‘nopage’ specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:147: warning: initialization from incompatible pointer type
/tmp/vmware-config0/vmmon-only/linux/driver.c:150: error: unknown field ‘nopage’ specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:151: warning: initialization from incompatible pointer type
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1650: error: ‘struct task_struct’ has no member named ‘euid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1650: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1651: error: ‘struct task_struct’ has no member named ‘fsuid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1651: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1652: error: ‘struct task_struct’ has no member named ‘egid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1652: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1653: error: ‘struct task_struct’ has no member named ‘fsgid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1653: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1670: error: too many arguments to function ‘smp_call_function’
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-22-generic'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config0/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".

Execution aborted.

mum@KubuMuM1004lts:~/Downloads/vmware-server-distrib$
Tiếp theo, các bạn cần thực hiện câu lệnh sau:
cd /home/mum/Downloads
wget -c http://www.insecure.ws/warehouse/vmware-update-2.6.32-5.5.9.tar.bz2
tar xvfj vmware-update*.tar.bz2

Trước khi hoàn tất quá trình cài đặt VMware Server, chúng ta phải xây dựng – build 1 hệ thống nhân – kernel với tính năng init_mm ở trạng thái đã được kích hoạt sẵn. Trước tiên, trở về tài khoản root:
sudo su
Cài đặt mã nguồn cho kernel:
apt-get install linux-source-2.6.32
Tiếp theo là việc cài đặt 1 số package cần thiết:
apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge linux libncurses5-dev kernel-package
Lưu ý rằng, khi cài đặt và xây dựng kernel mới, chúng ta nên khởi động lại hệ thống:
reboot
Sau đó, trở lại tài khoản root:
sudo su
Tiếp theo thực hiện câu lệnh sau:
cd /usr/src
tar xvfj linux-source-2.6.32.tar.bz2
cd linux-source-2.6.32

Mở arch/x86/kernel/init_task.c...
kate arch/x86/kernel/init_task.c
Và thêm dòng giá trị EXPORT_UNUSED_SYMBOL(init_mm); vào phía cuối file, bên dưới dòng DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS;:
[...]
DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS;
EXPORT_UNUSED_SYMBOL(init_mm);
Sau đó copy những thiết lập của hệ thống kernel hiện tại đến thư mục chứa mã nguồn của kernel:
cp /boot/config-`uname -r` .config
và thực hiện câu lệnh:
make menuconfig
Trong mục kernel configuration, chuyển tới Load an Alternate Configuration File...
Điền vào đó giá trị .config và chọn OK:
Tiếp theo, chọn Exit tại bảng kernel configuration menu:
Và sau đó chọn Yes khi được hỏi: Do you wish to save your new kernel configuration?
Tiếp theo, chạy câu lệnh sau:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

để tạo kernel mới, quá trình này sẽ diễn ra khá lâu. Sau khi hoàn tất, bạn có thể nhìn thấy gói linux-image và linux-headers .deb trong thư mục /usr/src/:
cd /usr/src/
ls -l

root@KubuMuM1004lts:/usr/src# ls -l
totale 105304
drwxrwsr-x 6 root src 4096 2010-05-17 12:36 .
drwxr-xr-x 11 root root 4096 2010-05-10 10:14 ..
drwxr-xr-x 24 root root 4096 2010-05-17 12:36 linux-headers-2.6.32.11+drm33.2-custom
-rw-r--r-- 1 root src 6506940 2010-05-17 12:27 linux-headers-2.6.32.11+drm33.2-custom_2.6.32.11+drm33.2-custom-10.00.Custom_amd64.deb
drwxr-xr-x 24 root root 4096 2010-05-13 13:46 linux-headers-2.6.32-22
drwxr-xr-x 7 root root 4096 2010-05-13 13:47 linux-headers-2.6.32-22-generic
-rw-r--r-- 1 root src 35487712 2010-05-17 12:26 linux-image-2.6.32.11+drm33.2-custom_2.6.32.11+drm33.2-custom-10.00.Custom_amd64.deb
drwxr-xr-x 26 root root 4096 2010-05-17 17:29 linux-source-2.6.32
-rw-r--r-- 1 root root 65806761 2010-04-28 20:17 linux-source-2.6.32.tar.bz2
root@KubuMuM1004lts:/usr/src#

Tiến hành cài đặt cả 2 gói trên như sau:
dpkg -i linux-image-2.6.32.11+drm33.2-custom_2.6.32.11+drm33.2-custom-10.00.Custom_amd64.deb linux-headers-2.6.32.11+drm33.2-custom_2.6.32.11+drm33.2-custom-10.00.Custom_amd64.deb
Kiểm tra xem file initrd image trong quá trình tạo kernel phía trên đã có trong thư mục /boot, chạy lệnh sau:
cd /boot
ls -l

totale 56120
-rw-r--r-- 1 root root 634929 2010-04-16 13:32 abi-2.6.32-21-generic
-rw-r--r-- 1 root root 634929 2010-04-28 18:50 abi-2.6.32-22-generic
-rw-r--r-- 1 root root 110372 2010-05-17 10:28 config-2.6.32.11+drm33.2-custom
-rw-r--r-- 1 root root 110365 2010-04-16 13:32 config-2.6.32-21-generic
-rw-r--r-- 1 root root 110365 2010-04-28 18:50 config-2.6.32-22-generic
drwxr-xr-x 3 root root 4096 2010-05-17 14:56 grub
-rw-r--r-- 1 root root 14393788 2010-05-17 14:53 initrd.img-2.6.32.11+drm33.2-custom
-rw-r--r-- 1 root root 8327398 2010-05-07 23:09 initrd.img-2.6.32-21-generic
-rw-r--r-- 1 root root 14447659 2010-05-13 16:32 initrd.img-2.6.32-22-generic
-rw-r--r-- 1 root root 160280 2010-03-23 10:40 memtest86+.bin
-rw-r--r-- 1 root root 2101323 2010-05-17 12:25 System.map-2.6.32.11+drm33.2-custom
-rw-r--r-- 1 root root 2152657 2010-04-16 13:32 System.map-2.6.32-21-generic
-rw-r--r-- 1 root root 2152657 2010-04-28 18:50 System.map-2.6.32-22-generic
-rw-r--r-- 1 root root 1336 2010-04-16 13:35 vmcoreinfo-2.6.32-21-generic
-rw-r--r-- 1 root root 1336 2010-04-28 18:53 vmcoreinfo-2.6.32-22-generic
-rw-r--r-- 1 root root 4008960 2010-05-17 12:25 vmlinuz-2.6.32.11+drm33.2-custom
-rw-r--r-- 1 root root 4037888 2010-04-16 13:32 vmlinuz-2.6.32-21-generic
-rw-r--r-- 1 root root 4038080 2010-04-28 18:50 vmlinuz-2.6.32-22-generic
Nếu chưa có thì chạy lệnh sau:
sudo mkinitramfs -k -o /tmp/initramfs-2.6.32.11-custom 2.6.32.11+drm33.2-custom

sudo update-initramfs -c -k 2.6.32.11+drm33.2-custom
Kiểm tra lại 1 lần nữa trong thư mục /boot của bạn, sau đó khởi động lại hệ thống:
reboot
Sau đó, tiếp tục chạy câu lệnh sau:
uname -a
Khi đăng nhập dưới tài khoản người dùng bình thường, bạn sẽ nhìn thấy hệ thống kernel mới:
mum@KubuMuM1004lts:~$ uname -a
Linux KubuMuM1004lts 2.6.32.11+drm33.2-custom #1 SMP Mon May 17 10:55:41 CEST 2010 x86_64 GNU/Linux
mum@KubuMuM1004lts:~$
Giờ đây, chúng ta có thể tiếp tục với quá trình cài đặt VMware Server:
cd /home/mum/Downloads/vmware-update*/
sudo ./runme.pl
Trả lời câu hỏi sau với sự lựa chọn Yes:
Before running VMware for the first time after update, you need to configure it
for your running kernel by invoking the following command:
"/usr/bin/vmware-config.pl". Do you want this script to invoke the command for
you now? [no] <-- yes
Bây giờ, bạn có thể dễ dàng chọn phương án trả lời mặc định bằng việc bấm Enter. Khi chương trình hiển thị câu hỏi sau:
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines]
Bạn, hoặc là chấp nhận phương án mặc định của chương trình hoặc lựa chọn thư mục cài đặt khác trên bất cứ phân vùng ổ cứng nào, miễn là có đủ dung lượng cần thiết. Đến giai đoạn cuối của quá trình cài đặt, bạn sẽ điền serial number có được khi đăng ký với VMWare Server ở phía trên:
Please enter your 20-character serial number.
Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:
Quá trình cài đặt thành công, bạn có thể xóa bỏ file cài đặt VMware Server và thư mục cài đặt:
cd /home/mum/Downloads
rm -f VMware-server*
rm -fr vmware-server-distrib/
rm -fr vmware-update*

Khởi động VMware Server thông qua Applications > Lost Objects > VMware Server Console:
Tại màn hình khởi động, chọn Local host:
Sau đó, tiến hành tạo máy ảo như bình thường (hoặc nhập file máy ảo Windows được tạo bởi Vmware Converter):
Lưu ý rằng, đôi lúc nên chạy ứng dụng với quyền sudo. Để làm việc này, trong quá trình khởi động - application launch, gõ lệnh sau:
kmenuedit
và thêm dòng lệnh gksudo vào mục command:
Lưu thay đổi và đóng cửa sổ kmenuedit lại.
Trong trường hợp không có gksudo, thực hiện câu lệnh sau:
sudo apt-get install gksu
Từ lần sau, trước khi VMware khởi động, hệ thống sẽ hỏi bạn mật khẩu để gán quyền sudo cho ứng dụng.
Đường dẫn tài liệu tham khảo: Kubuntu, VMware Server 1.0.x.

Chúc các bạn thành công!

Theo QuanTriMang

Sử dụng và quản lý Ubuntu dễ dàng hơn với Ubuntu Control Center

Những người sử dụng Ubuntu có thể gặp chút ít khó khăn trong quá trình thiết lập, tùy chỉnh và quản lý ứng dụng trong hệ thống. Hôm nay, Quản Trị Mạng sẽ giới thiệu với các bạn cách sử dụng Ubuntu Control Center để quản lý các khía cạnh khác nhau của hệ thống dễ dàng hơn.
Đôi nét về Ubuntu Control Center
Rất nhiều tiện ích và phần mềm được viết sẵn để làm việc và tương thích tốt với nền tảng Ubuntu. Và trong toàn bộ ứng dụng quản lý, Ubuntu Control Center là 1 chìa khóa quan trọng của hệ thống tổng quan. Sau đây là 1 đoạn miêu tả ngắn gọn về Ubuntu Control Center – UCC:
Ubuntu Control Center (gọi tắt là UCC) là 1 ứng dụng được lấy ý tưởng từ Mandriva Control Center, được trang bị để tập trung tổ chức, đơn giản hóa quá trình thiết lập và mở rộng các công cụ dành cho Ubuntu. UCC dùng với tất cả các ứng dụng đã, đang và sẽ được đóng gói với Ubuntu, hoặc với các chương trình third-party như “Hardinfo”, “Boot-up Manager”, “GuFW” và “Font-Manager”.
Đường dẫn Font-Manager
Hướng dẫn cài đặt và sử dụng Ubuntu Control Center trong Ubuntu 10.04
Trước tiên, chúng ta cần phải đáp ứng 1 số yêu cầu của hệ thống, cài đặt Font-Manager và gói jstest-gtk trước khi thiết lập UCC:
Nhập mật mã tài khoản admin để bắt đầu cài đặt:
Cài đặt thành công, nhấn Close để đóng cửa sổ:
Làm tương tự như vậy với trình quản lý Font-Manager và Ubuntu Control Center:
Khởi động Ubuntu Control Center từ Applications \ System Tools \ UCC:
Tại đây, bạn có thể nắm rõ toàn bộ hoạt động hệ thống, quản lý các nguồn tài nguyên, phần cứng, phần mềm…:
Trong bài viết này, chúng ta sẽ thiết lập chế độ firewall trong phần Network and Internet:

Firewall chưa được kích hoạt

sau khi kích hoạt
Các ứng dụng start-up cùng hệ thống:
Khi đã cài đặt UCC trong hệ thống, công việc quản lý sẽ trở nên đơn giản hơn rất nhiều với giao diện đồ họa, đầy đủ tính năng và tính tiện lợi. Nhất là đối với những người ít sử dụng Ubuntu thì UCC quả thực là công cụ hỗ trợ tuyệt vời và không thể thiếu.
Chúc các bạn thành công!

Theo QuanTriMang

Hướng dẫn tạo ảnh ổ đĩa với Ubuntu Live CD

Việc sao lưu ổ cứng là rất hữu hiệu, nhưng nếu bạn muốn tạo nhiều bản sao lưu hoặc đơn giản chỉ cần backup đầy đủ? Khái niệm ảnh – image của ổ đĩa cứng ra đời, cho phép người sử dụng thực hiện nhiều thao tác vô cùng tiện lợi. Trong bài viết sau, Quản Trị Mạng sẽ giới thiệu với các bạn công cụ hữu ích dd trong đĩa Ubuntu Live CD để làm việc này.
Việc tạo file ảnh của ổ đĩa cứng khá đơn giản, ngoại trừ việc sao lưu dữ liệu từ 1 ổ cứng này sang ổ khác, ở đây chúng ta sẽ “hô biến” toàn bộ dữ liệu của ổ cứng thành 1 file duy nhất. Và tất nhiên dung lượng của file ảnh này sẽ rất lớn, phụ thuộc vào toàn bộ dữ liệu trên ổ cứng. Tiện ích dd sẽ sao lưu toàn bộ dữ liệu, kể cả file rác trên đó. Vì vậy bạn cần chuẩn bị thiết bị lưu trữ có dung lượng đủ lớn để chứa file sao lưu.
Lưu ý: việc sử dụng dd cần hết sức cẩn thận, vì nếu không dd sẽ xóa toàn bộ dữ liệu trên ổ cứng mà không có cách nào phục hồi lại được.
Tạo file ảnh của ổ đĩa cứng
Khởi động hệ thống từ đĩa Ubuntu Live CD, chọn phân vùng nơi chúng ta sẽ lưu file ảnh của ổ đĩa. Nhấn menu Places và chọn nơi để lưu, ở ví dụ này là phân vùng 136GB:
Tiếp theo, mở ứng dụng Terminal (Applications > Accessories > Terminal) và di chuyển tới phân vùng mới. Tất cả các phân vùng nhận diện đều ở trong mục /media, vì vậy chúng ta dùng lệnh:
cd /media
và gõ 1 vài ký tự đầu tiên của ổ đĩa (sau đó nhấn tab để tự hiển thị đầy đủ) và di chuyển đến thư mục đó:
Bước tiếp theo là xác định ổ đĩa mà bạn muốn tạo ảnh, trong cửa sổ Terminal gõ câu lệnh sau:
sudo fdisk -l
Bạn sẽ thấy có 1 phân vùng 1 Gb là /dev/sda, và chúng ta sẽ tạo ảnh của phân vùng đó. Dùng lệnh sau:
sudo dd if=/dev/sda of=./OldHD.img
Cú pháp trên có nghĩa chúng ta sao lưu dữ liệu từ đầu vào (“if”) /dev/sda thành file sản phẩm (“of”) OldHD.img.
Quá trình này sẽ diễn ra trong khoảng thời gian khá ngắn. Tiếp theo, chúng ta cần kiểm tra xem file ảnh đó có hoạt động hay không.
Kiểm tra file ảnh
1 tiện ích khác nữa của dd là khả năng xóa bỏ toàn bộ dữ liệu trên phân vùng ổ cứng. Sử dụng câu lệnh sau:
sudo dd if=/dev/urandom of=/dev/sda
Quá trình này cần 1 số dữ liệu đầu vào ngẫu nhiên, và kết quả là phân vùng ổ cứng /dev/sda:
Nếu ta kiểm tra ổ đĩa bằng lệnh sudo fdisk –l, thì phân vùng đó đã được xóa bỏ hoàn toàn:
Khôi phục ổ đĩa từ file ảnh
Chúng ta có thể khôi phục tình trạng của ổ đĩa từ file ảnh với câu lệnh dd theo cách tương tự như khi tạo file ảnh đó. Nhưng phải đảo ngược 2 giá trị dữ liệu đầu vào và đầu ra:
sudo dd if=./OldHD.img of=/dev/sda
Khi kết thúc quá trình, chúng ta lại sử dụng sudo fdisk –l để kiểm tra tình trạng phân vùng ổ đĩa:
Chúc các bạn thành công!

Theo QuanTriMang

4 thay thế cho menu điều khiển của Gnome

Có một thứ thú vị đối với hệ thống Linux là người dùng có thể thay đổi hầu hết mọi khía cạnh của hệ thống. Không thích wallpaper hiện có? Bạn có thể thay đổi. Không thích màn hình chấm loáng thoáng? Bạn cũng có thể thay đổi. Hay không thích menu điều khiển mặc định (nơi bạn có thể truy cập Applications, Places và System)? Tất cả bạn đều có thể thay đổi một cách dễ dàng.
appmenu-mainTrong hệ thống Gnome, có nhiều applet điều khiển mà bạn có thể sử dụng. Một trong số chúng khá hấp dẫn và làm cho desktop của bạn trở nên thú vị hơn, tuy nhiên một số lại khá nhỏ, nhanh và có thể cải thiện hiệu suất làm việc của bạn. Chúng ta hãy đi xem những lựa chọn nào bạn có ở đây:
Nếu bạn đang muốn tìm cho mình một menu khá đẹp mắt để trang trí cho desktop thì GnoMenu chính là thứ cần thử đầu tiên. Menu ứng dụng này hỗ trợ các theme, không quan tâm đến việc bạn đang sử dụng desktop kiểu gì. Nó cũng tương thích hoàn toàn với các ứng dụng giống như Gnome-Panel, Avant Window Navigator, Cairo-Dock, XfApplet, Kde Plasma và khay hệ thống.
appmenu-gnomenu
Một tính năng thú vị của GnoMenu là bạn có thể kích phải vào ứng dụng và chọn các hành động khác nhau từ menu xuất hiện. Cho ví dụ, khi kích phải vào biểu tượng trình duyệt Firefox, bạn có thể có nhiều sự lựa chọn như Open as Administrator, Add to Favorite, Create Desktop Shortcut hoặc Add to system startup.
appmenu-gnomenu-context
Một điều thú vị khác, GnoMenu cũng có khá nhiều tùy chọn cấu hình. Bạn có thể cài đặt các theme mới (màu sắc, nút bấm, âm thanh và biểu tượng), thay đổi sự ràng buộc phím để triệu gọi menu, chỉnh sửa các lệnh khi một ứng dụng được kích.
Cài đặt
sudo add-apt-repository ppa:gnomenu-team/ppa
sudo apt-get update && sudo apt-get install gnomenu
Ubuntu System Panel cho phép bạn có được rất nhiều tùy chọn như cách bạn muốn thông tin hiển thị. Giao diện mặc định là một cửa sổ lớn hiển thị mọi thứ trên nó, tuy nhiên bạn có thể dễ dàng tối giản hóa các tùy chọn đó vào phía phải và tiết kiệm được một phần không gian màn hình.
appmenu-usp2
Thứ tốt nhất mà USP có được là nó hỗ trợ các plugin và khả năng cấu hình cao. Bạn có thể bổ sung thêm các plugin vào danh sách và sắp xếp chúng theo thứ tự mong muốn. Tùy chọn cấu hình cho phép bạn có thể thay đổi chiều rộng và cao của mỗi panel, kích thước phông chữ và lệnh cho mỗi tùy chọn. Tốt hơn tất cả là bạn có thể điều chỉnh kích cỡ của menu để phù hợp với kích thước màn hình.
appmenu-usp2-config
Cài đặt
sudo add-apt-repository ppa:malacusp/ppa
 sudo apt-get update && sudo apt-get install usp2 usp2-extras

3. Cardápio
Tuy Cardápio xuất hiện muộn trong danh sách này nhưng nó vẫn có rất nhiều thứ thú vị. Ngoài menu điều khiển, nó cũng có thể hoạt động như một bộ khởi chạy, giống như Gnome-Do.
appmenu-cardapio
Bất cứ lúc nào, bạn có thể nhấn nút Super + Space để triệu gọi menu và thực hiện nhiệm vụ tìm kiếm. Nó được tích hợp tốt với bộ tìm vết do đó bạn có thể tìm những gì mình muốn một cách nhanh chóng.
Một thứ khác mà bạn có thể cảm thấy thích ở Cardápio là sự phản ứng nhanh của nó. Tiện ích này tỏ ra khá nhanh và không gây lộn xộn cho desktop của bạn. Tính năng Gnome-Do cũng rất hữu dụng, mặc dù vậy stock Gnome Do còn tốt hơn nhiều.
Chắc chắn sẽ có nhiều người thích sử dụng giao diện GUI để truy cập vào cấu hình backend. Mặc dù vậy hiện cách cấu hình tiện ích này vẫn là thông qua gconf editor và file config.ini của chính nó. Cardápio có nhiều tiềm năng, nhưng nó nhất định cần phải có nhiều thay đổi để dễ sử dụng hơn với những người mới sử dụng nó.
Cài đặt
sudo add-apt-repository ppa:tvst-hotmail/cardapio
sudo apt-get update && sudo apt-get install cardapio python-keybinder
MintMenu cần một chút giới thiệu. Nó là một menu ứng dụng mặc định cho Linux Mint và có layout tốt nhất (theo quan điểm cá nhân của tôi ở đây) trong danh sách này.
appmenu-mintmenu
Những gì bạn có thể cảm thấy thú vị về MintMenu là thiết kế tích hợp của nó giúp bạn có thể truy cập nhanh chóng vào Places, Applications (qua lại giữa All Applications và Favorite Applications) và System Menu mà không làm lộn xộn cửa sổ.
Phần cấu hình cung cấp một số tùy chọn để bạn có thể thay đổi giao diện hiển thị của menu. Nó cũng có một shortcut bàn phím (mặc định là Ctrl + Super) để bạn có thể nhấn và triệu gọi menu.
appmenu-mintmenu-config
Cài đặt
wget http://packages.linuxmint.com/pool/main/m/mintmenu/mintmenu_4.9.9_all.deb
wget http://packages.linuxmint.com/pool/main/m/mint-common/mint-common_1.0.5_all.deb
wget http://packages.linuxmint.com/pool/main/m/mint-translations/mint-translations_2010.05.14_all.deb
sudo dpkg -i *.deb
sudo apt-get install -f
Các menu điều khiển khác không có trong danh sách
Gnome Main Menu đã xuất hiện từ lâu. Gói phần mềm nằm trong kho chứa (phiên bản 0.9.13) này thiếu một số tính năng và phiên bản mới nhất (0.9.15) có một số vấn đề với desktop Gnome. Những ai quan tâm đến việc test thử nó vẫn có thể truy cập thông qua:
sudo apt-get install gnome-main-menu
Hoặc download phiên bản 0.9.15 tại đây.
Gimmie đã từng là một dự án tuyệt vời với giao diện đẹp và khả năng truy cập cao. Mặc dù vậy, sự phát triển đã ngừng lại trong vòng 3 năm trở lại đây và không có tin tức mới về liệu nó có được tiếp tục hay không. Cho tới bây giờ, vẫn chưa có PPA (hay deb package) chính thức nào. Người dùng muốn test ứng dụng này có thể download nó tại đây.

Theo QuanTriMang

P03: Cài đặt RAID 1 trên hệ thống LVM trong Ubuntu 10.04

Chuẩn bị GRUB2
1 điểm quan trọng không kém là GRUB2 bootloader phải được cài đặt trên cả 2 phân vùng ổ cứng, /dev/sda và /dev/sdb:
grub-install /dev/sda
grub-install /dev/sdb

Khởi động lại hệ thống:
reboot
Chuẩn bị /dev/sda
Nếu tất cả hoạt động bình thường, bạn sẽ thấy /dev/md0 trong kết quả trả về của câu lệnh:
df -h

root@server1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/server1-root
4.5G 816M 3.4G 19% /
none 242M 196K 242M 1% /dev
none 247M 0 247M 0% /dev/shm
none 247M 40K 247M 1% /var/run
none 247M 0 247M 0% /var/lock
none 247M 0 247M 0% /lib/init/rw
/dev/md0 236M 23M 201M 11% /boot
root@server1:~#

Và kết quả của
cat /proc/mdstat
sẽ như thế này:
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1]
248768 blocks [2/1] [_U]

md1 : active raid1 sda5[0] sdb5[1]
4990912 blocks [2/2] [UU]

unused devices:
root@server1:~#

Tượng tự, kết quả thu được của pvdisplay, vgdisplay, và lvdisplay sẽ như vậy:
pvdisplay

root@server1:~# pvdisplay
--- Physical volume ---
PV Name /dev/md1
VG Name server1
PV Size 4.76 GiB / not usable 1.94 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1218
Free PE 3
Allocated PE 1215
PV UUID rQf0Rj-Nn9l-VgbP-0kIr-2lve-5jlC-TWTBGp

root@server1:~#

vgdisplay

root@server1:~# vgdisplay
--- Volume group ---
VG Name server1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.76 GiB
PE Size 4.00 MiB
Total PE 1218
Alloc PE / Size 1215 / 4.75 GiB
Free PE / Size 3 / 12.00 MiB
VG UUID hMwXAh-zZsA-w39k-g6Bg-LW4W-XX8q-EbyXfA

root@server1:~#

lvdisplay

root@server1:~# lvdisplay
--- Logical volume ---
LV Name /dev/server1/root
VG Name server1
LV UUID b5A1R5-Zhml-LSNy-v7WY-NVmD-yX1w-tuQVUW
LV Write Access read/write
LV Status available
# open 1
LV Size 4.49 GiB
Current LE 1149
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:0

--- Logical volume ---
LV Name /dev/server1/swap_1
VG Name server1
LV UUID 2UuF7C-zxKA-Hgz1-gZHe-rFlq-cKW7-jYVCzp
LV Write Access read/write
LV Status available
# open 1
LV Size 264.00 MiB
Current LE 66
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:1

root@server1:~#

Đồng thời, thay đổi định dạng của /dev/sda1 thành Linux raid autodetect:
fdisk /dev/sda

root@server1:~# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): <-- gõ t
Partition number (1-5): <-- gõ 1
Hex code (type L to list codes): <-- gõ fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- gõ w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
root@server1:~#

Thêm /dev/sda1 vào /dev/md0 RAID array:
mdadm --add /dev/md0 /dev/sda1
Bây giờ hãy xem qua:
cat /proc/mdstat

root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
248768 blocks [2/2] [UU]

md1 : active raid1 sda5[0] sdb5[1]
4990912 blocks [2/2] [UU]

unused devices:
root@server1:~#

Sau đó thay đổi file /etc/mdadm/mdadm.conf như sau:
cp /etc/mdadm/mdadm.conf_orig /etc/mdadm/mdadm.conf
mdadm --examine --scan >> /etc/mdadm/mdadm.conf

File /etc/mdadm/mdadm.conf sẽ trông giống như sau:
cat /etc/mdadm/mdadm.conf

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Wed, 16 Jun 2010 20:01:25 +0200
# by mkconf $Id$
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=90f05e41:bf936896:325ecf68:79913751
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1ab36b7f:3e2031c0:325ecf68:79913751

Bây giờ, chúng ta cần xóa file /etc/grub.d/09_swraid1_setup …:

rm -f /etc/grub.d/09_swraid1_setup
và cập nhật file thiết lập GRUB2 bootloader:
update-grub
update-initramfs -u

Sau đó khởi động lại hệ thống:
reboot
Nếu không có vấn đề gì xảy ra thì có nghĩa là bạn đã hoàn tất quá trình thiết lập và cài đặt phần mềm theo chuẩn RAID1 trên hệ thống LVM.


Kiểm tra toàn bộ
Bây giờ, hãy giả sử rằng có 1 ổ cứng bị lỗi. Nhưng thực sự không có vấn đề gì xảy ra nếu bạn lựa chọn /dev/sda hoặc /dev/sdb trong trường hợp này. Trong ví dụ này, phân vùng /dev/sdb bị lỗi.
Để mô phỏng lỗi này, bạn có thể tắt bỏ hệ thống hoặc gỡ bỏ /dev/sdb khỏi hệ thống:
mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb5

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb5

Sau đó tắt hệ thống:
shutdown -h now
Rồi gắn ổ cứng /dev/sdb và khởi động hệ thống:
cat /proc/mdstat
và bạn sẽ nhìn thấy mã miêu tả tình trạng hệ thống tạm thời:
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0]
248768 blocks [2/1] [U_]

md1 : active raid1 sda5[0]
4990912 blocks [2/1] [U_]

unused devices:
root@server1:~#

Kết quả của:
fdisk -l
sẽ như sau:
root@server1:~# fdisk -l

Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006b7b7

Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 32 653 4990976 fd Linux raid autodetect

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/md1: 5110 MB, 5110693888 bytes
2 heads, 4 sectors/track, 1247728 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 254 MB, 254738432 bytes
2 heads, 4 sectors/track, 62192 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table
root@server1:~#

Tiếp theo, sao chép định dạng phân vùng của /dev/sda tới /dev/sdb:
sfdisk -d /dev/sda | sfdisk --force /dev/sdb

root@server1:~# sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Checking that no-one is using this disk right now ...
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
OK

Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
/dev/sdb1 * 2048 499711 497664 fd Linux raid autodetect
/dev/sdb2 501758 10483711 9981954 5 Extended
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 0 - 0 0 Empty
/dev/sdb5 501760 10483711 9981952 fd Linux raid autodetect
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
root@server1:~#

Sau đó, xóa bỏ tất cả những gì sót lại từ quá trình cài đặt RAID array từ /dev/sdb …:
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb5

và thêm thành phần sau vào RAID array:
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb5

Tiếp đến, kiểm tra:
cat /proc/mdstat

root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
248768 blocks [2/2] [UU]

md1 : active raid1 sdb5[2] sda5[0]
4990912 blocks [2/1] [U_]
[========>............] recovery = 42.1% (2101760/4990912) finish=0.5min speed=87573K/sec

unused devices:
root@server1:~#

Wait until the synchronization has finished:

root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
248768 blocks [2/2] [UU]

md1 : active raid1 sdb5[1] sda5[0]
4990912 blocks [2/2] [UU]

unused devices:
root@server1:~#

Sau cùng, tiến hành cài đặt bootloader trên cả 2 ổ cứng:
grub-install /dev/sda
grub-install /dev/sdb

Vậy là bạn đã hoàn thành toàn bộ quá trình. Giờ đây, bất cứ ổ nào lỗi hoặc có vấn đề, hệ thống sẽ khởi động từ ổ còn lại 1 cách bình thường.
Chúc các bạn thành công!

Theo QuanTriMang

P02: Cài đặt RAID 1 trên hệ thống LVM trong Ubuntu 10.04

Tạo hệ thống RAID Arrays
Trong bước tiếp theo, chúng ta sẽ tiến hành khởi tạo RAID arrays /dev/md0 và /dev/md1. Trong đó, /dev/sdb1 sẽ được thêm vào /dev/md0 và/dev/sdb5 tới /dev/md1. Nhưng /dev/sda1 và /dev/sda5 vẫn chưa thể thêm vào thời điểm hiện tại (bởi vì hệ thống được cài đặt và hoạt động trên những phân vùng này), do vậy ta phải sử dụng cú pháp missing trong các câu lệnh sau:
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb5

Câu lệnh:
cat /proc/mdstat
chỉ ra rằng chúng ta đang có 2 RAID arrays xuống cấp ([_U] hoặc [U_] có nghĩa là 1 array bị xuống cấp, còn [UU] vẫn ổn):
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdb5[1]
4990912 blocks [2/1] [_U]

md0 : active raid1 sdb1[1]
248768 blocks [2/1] [_U]

unused devices:
root@server1:~#

Tiếp theo, tạo file hệ thống (ext2) trên RAID array non-LVM /dev/md0:
mkfs.ext2 /dev/md0
Và LVM RAID array trên /dev/md1. Để chuẩn bị cho LVM, thực hiện lệnh sau:
pvcreate /dev/md1
Sau đó thêm /dev/md1 tới volume group server1:
vgextend server1 /dev/md1
Kết quả của
pvdisplay
sẽ trông giống như sau:
root@server1:~# pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name server1
PV Size 4.76 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1218
Free PE 3
Allocated PE 1215
PV UUID bsF5F5-s2RN-ed1h-zjeb-4mAJ-aktq-kEn86r

--- Physical volume ---
PV Name /dev/md1
VG Name server1
PV Size 4.76 GiB / not usable 1.94 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1218
Free PE 1218
Allocated PE 0
PV UUID rQf0Rj-Nn9l-VgbP-0kIr-2lve-5jlC-TWTBGp

root@server1:~#

Kết quả của
vgdisplay
sẽ có dạng như sau:
root@server1:~# vgdisplay
--- Volume group ---
VG Name server1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 9.52 GiB
PE Size 4.00 MiB
Total PE 2436
Alloc PE / Size 1215 / 4.75 GiB
Free PE / Size 1221 / 4.77 GiB
VG UUID hMwXAh-zZsA-w39k-g6Bg-LW4W-XX8q-EbyXfA

You have new mail in /var/mail/root
root@server1:~#

Bước tiếp theo là điều chỉnh /etc/mdadm/mdadm.conf như sau:
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Hiển thị nội dung của file:
cat /etc/mdadm/mdadm.conf
Và bạn sẽ thấy thông tin chi tiết của 2 RAID array:
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Wed, 16 Jun 2010 20:01:25 +0200
# by mkconf $Id$
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=90f05e41:bf936896:325ecf68:79913751
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1ab36b7f:3e2031c0:325ecf68:79913751

Tiếp theo là chính sửa /etc/fstab:
vi /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/server1-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
#UUID=67b1337f-89a2-4729-a6c8-6d43ba82d1f1 /boot ext2 defaults 0 2
/dev/md0 /boot ext2 defaults 0 2
/dev/mapper/server1-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Thay thế /dev/sda1 với /dev/md0 trong /etc/mtab:
vi /etc/mtab

/dev/mapper/server1-root / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
none /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
/dev/md0 /boot ext2 rw 0 0

Và GRUB2 boot loader, tạo file /etc/grub.d/09_swraid1_setup như sau:
cp /etc/grub.d/40_custom /etc/grub.d/09_swraid1_setup
vi /etc/grub.d/09_swraid1_setup

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Ubuntu, with Linux 2.6.32-21-server' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod ext2
set root='(md0)'
linux /vmlinuz-2.6.32-21-server root=/dev/mapper/server1-root ro quiet
initrd /initrd.img-2.6.32-21-server
}

Hãy chắc chắn rằng phiên bản bộ nhân kernel dùng trong menuentry stanza (được khai báo trong dòng lệnh linux và initrd). Các bạn có thể tìm thông tin này bằng lệnh sau:
uname -r
Chạy lệnh:
update-grub
để viết nhân kernel stanza mới từ etc/grub.d/09_swraid1_setup tới /boot/grub/grub.cfg. Tiếp theo là điều chỉnh ramdisk:
update-initramfs -u 

Di chuyển dữ liệu tới RAID Array
Khi chúng ta đã hoàn thành quá trình tạo và thiết lập các file cần thiết, tiếp theo sẽ copy toàn bộ dữ liệu từ /dev/sda tới /dev/sdb. Để chuyển nội dung của phân vùng LVM /dev/sda5 tới LVM RAID array /dev/md1, sử dụng lệnh pvmove:
pvmove -i 2 /dev/sda5 /dev/md1
Chờ 1 lúc để quá trình này kết thúc hoàn toàn. Sau đó, bỏ phân vùng /dev/sda5 từ volume group server1 …:
vgreduce server1 /dev/sda5
và “nhắc nhở” hệ thống không sử dụng /dev/sda5 với LVM nữa:
pvremove /dev/sda5
Kết quả của câu lệnh:
pvdisplay
sẽ có dạng giống như sau:
root@server1:~# pvdisplay
--- Physical volume ---
PV Name /dev/md1
VG Name server1
PV Size 4.76 GiB / not usable 1.94 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1218
Free PE 3
Allocated PE 1215
PV UUID rQf0Rj-Nn9l-VgbP-0kIr-2lve-5jlC-TWTBGp

root@server1:~#

Sau đó, thay đổi định dạng phân vùng của /dev/sda5 thành Linux raid autodetect và thêm /dev/sda5 vào the /dev/md1 array:
fdisk /dev/sda

root@server1:~# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): <-- gõ t
Partition number (1-5): <-- gõ 5
Hex code (type L to list codes): <-- gõ fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): <-- gõ w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
root@server1:~#

mdadm --add /dev/md1 /dev/sda5

Tiếp theo, hãy nhìn qua
cat /proc/mdstat
và bạn sẽ thấy rằng RAID array /dev/md1 đang được tích hợp:
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda5[2] sdb5[1]
4990912 blocks [2/1] [_U]
[=========>...........] recovery = 45.1% (2251776/4990912) finish=0.4min speed=90071K/sec

md0 : active raid1 sdb1[1]
248768 blocks [2/1] [_U]

unused devices:
root@server1:~#

Chờ tới khi quá trình này kết thúc:
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda5[0] sdb5[1]
4990912 blocks [2/2] [UU]

md0 : active raid1 sdb1[1]
248768 blocks [2/1] [_U]

unused devices:
root@server1:~#

).

Việc tiếp theo là kết hợp phân vùng /dev/md0:
mkdir /mnt/md0

mount /dev/md0 /mnt/md0

mount

root@server1:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/md0 on /boot type ext2 (rw)
/dev/md0 on /mnt/md0 type ext2 (rw)
root@server1:~#

Bây giờ, chúng ta có thể sao chép toàn bộ dữ liệu của /dev/sda1 tới /dev/md0 (đã được kết hợp trên /mnt/md0):
cd /boot
cp -dpRx . /mnt/md0 

Theo QuanTriMang

P01: Cài đặt RAID 1 trên hệ thống LVM trong Ubuntu 10.04

Bài viết sau sẽ hướng dẫn và giải thích với các bạn cách thiết lập, cài đặt phần mềm theo chuẩn RAID1 trên hệ thống LVM đang hoạt dộng trong nền tảng Ubuntu 10.04. Và GRUB2 bootloader sẽ được thiết lập để hệ thống không thể khởi động khi 1 trong 2 ổ cứng có vấn đề.
Lưu ý sơ bộ
Trong thí nghiệm này sử dụng hệ điều hành Ubuntu 10.04 và 2 ổ cứng (/dev/sda và /dev/sdb), trong đó /dev/sdb không sử dụng, /dev/sda có các phân vùng sau:
/dev/sda1: phân vùng boot - ext2
/dev/sda2: là phân vùng extended, có chứa /dev/sda5
/dev/sda5: được sử dụng cho LVM (volume group server1) và có ký tự / (root) và swap (swap_1)
Và đến khi kết thúc, chúng ta sẽ có được kết quả như sau:
/dev/md0 (tạo ra từ /dev/sda1 và /dev/sdb1): phân vùng /boot - ext2
/dev/md1 (tạo ra từ /dev/sda5 và /dev/sdb5): LVM (volume group server1) có ký tự / (root) và swap (volume swap_1)
Còn đây là hiện tại:
df -h

root@server1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/server1-root
4.5G 809M 3.5G 19% /
none 243M 176K 242M 1% /dev
none 247M 0 247M 0% /dev/shm
none 247M 36K 247M 1% /var/run
none 247M 0 247M 0% /var/lock
none 247M 0 247M 0% /lib/init/rw
/dev/sda1 228M 17M 199M 8% /boot
root@server1:~#

fdisk -l

root@server1:~# fdisk -l

Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006b7b7

Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 32 653 4990976 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
root@server1:~#

pvdisplay

root@server1:~# pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name server1
PV Size 4.76 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1218
Free PE 3
Allocated PE 1215
PV UUID bsF5F5-s2RN-ed1h-zjeb-4mAJ-aktq-kEn86r

root@server1:~#

vgdisplay

root@server1:~# vgdisplay
--- Volume group ---
VG Name server1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.76 GiB
PE Size 4.00 MiB
Total PE 1218
Alloc PE / Size 1215 / 4.75 GiB
Free PE / Size 3 / 12.00 MiB
VG UUID hMwXAh-zZsA-w39k-g6Bg-LW4W-XX8q-EbyXfA

root@server1:~#

lvdisplay

root@server1:~# lvdisplay
--- Logical volume ---
LV Name /dev/server1/root
VG Name server1
LV UUID b5A1R5-Zhml-LSNy-v7WY-NVmD-yX1w-tuQVUW
LV Write Access read/write
LV Status available
# open 1
LV Size 4.49 GiB
Current LE 1149
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:0

--- Logical volume ---
LV Name /dev/server1/swap_1
VG Name server1
LV UUID 2UuF7C-zxKA-Hgz1-gZHe-rFlq-cKW7-jYVCzp
LV Write Access read/write
LV Status available
# open 1
LV Size 264.00 MiB
Current LE 66
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:1

root@server1:~#




Cài đặt mdadm
Một trong những công cụ quan trọng nhất để thiết lập chế độ RAID là mdadm. Sử dụng câu lệnh sau để cài đặt:
aptitude install initramfs-tools mdadm
Sau đó, tiến hành tải thêm 1 vài module kernel khác (để tránh phải khởi động lại hệ thống):
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10

Tiếp theo chạy câu lệnh sau:
cat /proc/mdstat
Và kết quả trả về sẽ có dạng như sau:
root@server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices:
root@server1:~#

Chuẩn bị cho phân vùng /dev/sdb
Để tạo RAID1 array trên hệ thống đang hoạt động sẵn, chúng ta cần chuẩn bị phân vùng /dev/sdb cho RAID1, sau đó copy toàn bộ nội dung của /dev/sda tới phân vùng đó, và cuối cùng thêm /dev/sda tới RAID1 array.
Trước tiên ta copy toàn bộ bảng phân vùng từ /dev/sda tới /dev/sdb, vì vậy cả 2 ổ đĩa đều có kết quả như nhau:
sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Và kết quả trả về sẽ có dạng như sau:
root@server1:~# sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Checking that no-one is using this disk right now ...
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
OK

Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
/dev/sdb1 * 2048 499711 497664 83 Linux
/dev/sdb2 501758 10483711 9981954 5 Extended
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 0 - 0 0 Empty
/dev/sdb5 501760 10483711 9981952 8e Linux LVM
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
root@server1:~#

Sử dụng câu lệnh sau:
fdisk -l
và cả 2 ổ cứng sẽ như thế này:
root@server1:~# fdisk -l

Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006b7b7

Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 32 653 4990976 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sdb5 32 653 4990976 8e Linux LVM
root@server1:~#

Tiếp theo, tiến hành chuyển đổi định dạng của 3 phân vùng trên /dev/sdb thành Linux raid autodetect:
fdisk /dev/sdb 

root@server1:~# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): <-- gõ m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help): <-- gõ t
Partition number (1-5): <-- gõ 1
Hex code (type L to list codes): <-- gõ L

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): <-- gõ fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- gõ t
Partition number (1-5): <-- gõ 5
Hex code (type L to list codes): <-- gõ fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): <-- gõ w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
root@server1:~#

Dùng lệnh sau:
fdisk -l
để chỉ ra rằng /dev/sdb1 và /dev/sdb5 đã trở thành Linux raid autodetect:
root@server1:~# fdisk -l

Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006b7b7

Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 32 653 4990976 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 32 248832 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 32 653 4990977 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sdb5 32 653 4990976 fd Linux raid autodetect
root@server1:~#

Để chắc chắn rằng không còn gì sót lại từ quá trình cài đặt RAID trước trên /dev/sdb, thực hiện câu lệnh sau:
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb5

Nếu không còn gì sót lại từ RAID trước kia, mỗi câu lệnh bên trên sẽ trả lại thông báo lỗi như sau (không có gì phải lo lắng):
root@server1:~# mdadm --zero-superblock /dev/sdb1
mdadm: Unrecognised md component device - /dev/sdb1
root@server1:~#

Còn lại với các trường hợp khác, câu lệnh sẽ không hiển thị bất kỳ thông báo nào.

Theo QuanTriMang

Cài đặt Nginx với PHP 5.3 và PHP-FPM trên Ubuntu Lucid Lynx (10.04)

Trong bài viết này, sẽ giới thiệu với các bạn cách cài đặt Nginx với PHP 5.3.2 và PHP-FPM trên nền tảng Ubuntu Lucid Lynx (10.04-amd64). Phiên bản Ubuntu này thuộc dạng Long-Term Support (LTS), nghĩa là sẽ được hỗ trợ toàn tiện trong vòng 3 năm đối với desktop và 5 năm đối với server.
Lưu ý sơ bộ
Cơ bản nhất là hệ thống Ubuntu 10.04. Vì các quá trình thao tác khá đơn giản nên chúng tôi sẽ giới thiệu các dòng lệnh cơ bản nhất.
Cài đặt Nginx
Sử dụng câu lệnh sau:
apt-get install nginx
Cài đặt tất cả các thành phần yêu cầu
apt-get install autoconf2.13 libssl-dev libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libmcrypt-dev libmysql++-dev libfreetype6-dev libt1-dev libc-client-dev libbz2-dev mysql-client libevent-dev libxml2-dev
Tải và giải nén PHP
cd /usr/local/src

wget http://se2.php.net/get/php-5.3.2.tar.gz/from/se.php.net/mirror

tar xzf php-5.3.2.tar.gz

Cài đặt và thiết lập PHP-FPM
wget http://github.com/dreamcat4/php-fpm/tarball/0.6-5.3.1

tar xvf dreamcat4-php-fpm-0.6-5.3.0-0-gdd5ebd0.tar.gz

dreamcat4-php-fpm-3bb2b9b/generate-fpm-patch

cd php-5.3.2

patch -p1 < ../fpm.patch

./buildconf --force

mkdir fpm-build && cd fpm-build

Tùy chỉnh PHP
../configure --with-fpm --with-libevent=shared --with-mcrypt --enable-mbstring --with-openssl --with-mysql --with-mysql-sock --with-gd --with-jpeg-dir=/usr/lib --enable-gd-native-ttf --with-sqlite=shared --with-pdo-mysql --with-libxml-dir=/usr/lib --with-mysqli=/usr/bin/mysql_config --with-curl --enable-zip --with-bz2 --enable-soap=shared --with-imap=shared --with-imap-ssl --enable-sockets --with-zlib --enable-exif --enable-ftp --with-iconv --with-gettext --enable-gd-native-ttf --with-t1lib=/usr --with-freetype-dir=/usr --with-kerberos --prefix=/usr/local/php --with-fpm-user=www-data --with-fpm-group=www-data
Khi đã hoàn tất các bước trên mà không gặp trở ngại nào, chạy tiếp dòng lệnh sau:
make && make install
Tùy chỉnh Nginx
Tốt nhất các bạn nên tải file thiết lập vhost mặc định bằng câu lệnh sau:

wget http://kjette.se/blog/wp-content/downloads/default.tar.gz

tar xzf default.tar.gz

mv default /etc/nginx/sites-available/default

Và mỗi khi muốn tải lại Nginx, chỉ cần gõ lệnh sau:
/etc/init.d/nginx reload
Chúc các bạn thành công!

Theo QuanTriMang