Product SiteDocumentation Site

3.2. Làm thể nào để di cư

In order to guarantee continuity of the services, each computer migration must be planned and executed according to the plan. This principle applies whatever operating system is used.

3.2.1. Dò tìm và Định danh cách dịch vụ

Nghe thì nó có vẻ đơn giản, sau đây là các bước cần thiết. Một quản trị viên thực thụ cần biết chính xác vai trò chính của từng server, nhưng các vai trò có thể thay đổi và đôi khi người dùng kinh nghiệm có thể đã cài đặt các dịch vụ không chính thống. Việc biết được sự tồn tại của chúng ít ra giúp cho bạn quyết định làm gì với nó hơn là xóa một cách tùy tiện.
For this purpose, it is wise to inform your users of the project before migrating the server. To involve them in the project, it may be useful to install the most common free software programs on their desktops prior to migration, which they will come across again after the migration to Debian; LibreOffice and the Mozilla suite are the best examples here.

3.2.1.1. Mạng và Tiến trình

Chương trình nmap (với gói cùng tên) sẽ nhanh chóng định danh dịch vụ mạng được duy trì bởi một máy tính đã kết nối mạng mà không cần đăng nhập vào nó. Đơn giản chỉ là gọi lệnh sau đây trên một máy tính khác cùng mạng đã kết nối:
$ nmap mirwiz
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-06 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5666/tcp open  nrpe
9999/tcp open  abyss

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Nếu như server là một máy tính Unix cung cấp cho người dùng tiện ích shell, nó thực sự thú vị để xác định các tiến trình được thực thi dưới background trong sự vắng mặt chủ sở hữu chúng. Lệnh ps auxw hiển thị một danh sách của các tiến trình với định danh người dùng của chúng. Bằng sự xem xét các thông tin phản hồi từ đầu ra của lệnh who, chúng ta sẽ thấy một danh sách các người dùng và thời điểm đã đăng nhập, qua đó có thể xác định kẻ mạo danh hoặc các dịch vụ không xác định hoặc các chương trình đang chạy dưới nền. Việc tìm kiếm ở crontabs (bảng danh sách các hành động được lập lịch tự động thực hiện bởi người dùng) thường sẽ cung cấp các thông tin đang quan tâm trên về các chức năng được thực hiện bởi máy chủ (giải thích đầy đủ của cron xem thêm tại Phần 9.7, “Scheduling Tasks with cron and atd).
Trong bất cứ trường hợp nào, nó cần thiết để sao lưu các servers của bạn: điều này cho phép khôi phục thông tin theo hoàn cảnh cụ thể, khi người dùng báo cáo các vấn đề trong quá trình di cư.

3.2.2. Quá trình sao lưu cấu hình

Nó là cách khôn ngoan để lưu giữ các cấu hình của bất kỳ dịch vụ xác định nào phục vụ cho việc cài đặt tương tự trên server cập nhật. Tối thiểu là việc tạo ra các bản sao của các tệp tin cấu hình.
Với các máy tính Unix, các tệp tin cấu hình thường được tìm thấy trong /etc/, nhưng chúng có thể được lưu trong một thư mục con của /usr/local/. Đây là trường hợp khi một chương trình đã cài đặt từ mã nguồn, thay vì một gói. Trong một số trường hợp, người ta cũng có thể tìm thấy chúng trong /opt/.
Với các service quản lý dữ liệu (như databases chẳng hạn), thường đưọc khuyến cáo export dữ liệu sang một định dạng chuẩn sao cho dễ dàng được import bởi các chương trình mới. Chẳng hạn một định dạng hay dùng dạng văn bản hay tài liệu; nó có thể chấp nhận được, ví dụ như: một tập tin SQL hay một tập tin LDIF dành cho LDAP server.
Sao lưu cơ sở dữ liệu

Hình 3.2. Sao lưu cơ sở dữ liệu

Rõ ràng là từng phần mềm máy chủ là khác nhau, và không thể để mô tả toàn bộ các trường hợp một cách chi tiết. Để xác định khả năng export của các thành phần (hay nó cũng có khả năng tái import) cần so sánh tài liệu đã có với phần mềm mới và những điều này sẽ yêu cầu thực hiện bằng tay. Trong cuốn sách này sẽ làm sáng tỏ các cấu hình của các chương trình chính trên Linux server.

3.2.3. Tiếp quản các máy chủ Debian hiện có

Để đạt hiểu quả trong việc tiếp quản các thành phần đang nắm giữ của nó, cần một ai đó có thể phân tích một máy chủ thực sự đang chạy với Debian.
Tệp tin đầu tiên nên xem là /etc/debian_version, nó thường chứa phiên bản của hệ thống Debian hiện tại (nó là một phần của gói base-files). Nếu nó chỉ rõ codename/sid, điều đó có nghĩa là hệ thống đã được cập nhật với các gói tin kéo về từ một bản phân phối đang phát triển (hay một bản đang thử nghiệm hoặc không chính thức).
chương trình apt-show-versions (với gói Debian cùng tên) kiểm tra danh sách các gói tin đã cài đặt và xác định phiên bản hiện có. aptitude cũng có thể được sử dụng cho các nhiệm vụ trên, kể cả trong một số các hệ thống kiểu cũ.
Lướt qua tệp tin /etc/apt/sources.list (và thư mục /etc/apt/sources.list.d/) có thể thấy các gói tin Debian đã cài đặt đến từ đâu.
The sources.list file is often a good indicator: the majority of administrators keep, at least in comments, the list of APT sources that were previously used. But you should not forget that sources used in the past might have been deleted, and that some random packages grabbed on the Internet might have been manually installed (with the help of the dpkg command). In this case, the machine is misleading in its appearance of being a “standard” Debian system. This is why you should pay attention to any indication that will give away the presence of external packages (appearance of deb files in unusual directories, package version numbers with a special suffix indicating that it originated from outside the Debian project, such as ubuntu or lmde, etc.)
Tương tự, việc phân tích nội dung thư mục /usr/local/ cũng đáng quan tâm, cái mà mục đích của nó là chứa các chương trình đã biên dịch và cài đặt bình thường. Danh sách các phần mềm đã cài đặt theo kiểu này có thể để đào tạo, từ đây đặt ra các câu hỏi về lý do tại sao không sử dụng các gói của Debian nếu như nó tồn tại.

3.2.4. Cài đặt Debian

Một khi là tất cả các thông tin cần thiết trên server hiện tại đã được biết, chúng ta có thể tắt máy và bắt đầu quá trình cài đặt Debian trên nó.
Để lựa chọn được phiên bản thích hợp, chúng ta phải biết được kiến trúc của phần cứng. Với các máy tính hiện nay, chúng hầu như là amd64 (các máy tính cũ thường là i386). Trong trường hợp khác, chúng ta có thể thu hẹp các khả năng tùy theo các hệ thống đã sử dụng trước đó.
Bảng 3.1 is not intended to be exhaustive, but may be helpful. Note that it lists Debian architectures which are no longer supported in the current stable release. In any case, the original documentation for the computer is the most reliable source to find this information.

Bảng 3.1. Hệ điều hành và kiến trúc tương xứng

Hệ điều hànhKiến trúc
DEC Unix (OSF/1)alpha, mipsel
HP Unixia64, hppa
IBM AIXpowerpc
Irixmips
OS Xamd64, powerpc, i386
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2008i386, amd64, ia64
Windows RTarmel, armhf, arm64
Windows Vista / Windows 7-8-10i386, amd64

3.2.5. Quá trình cài đặt và cấu hình các dịch vụ đã lựa chọn

Once Debian is installed, we need to individually install and configure each of the services that this computer must host. The new configuration must take into consideration the prior one in order to ensure a smooth transition. All the information collected in the first two steps will be useful to successfully complete this part.
Cài đặt các dịch vụ đã lựa chọn

Hình 3.3. Cài đặt các dịch vụ đã lựa chọn

Chú ý, trước khi chuyển hoàn toàn sang phần thực hành, bạn nên đọc các phần còn lại của cuốn sách này. Sau đó bạn sẽ có một hiểu biết rộng hơn về làm sao để cấu hình được các dịch vụ như mong đợi.