Với một máy tính cũ không dùng đến, hệ điều hành FreeNAS, chúng ta sẽ tự tạo một kho dữ liệu nối mạng (Network-attached storage hay NAS) linh hoạt với chi phí thấp nhất.
Kho dữ liệu nối mạng (Network-attached storage hay NAS), trên thực tế là ổ cứng ngoài, kết nối qua giao tiếp mạng và cho phép các máy tính trong mạng sử dụng các tập tin chung. Thiết bị này phổ biến trong các công ty lớn và đang chiếm lĩnh thị trường văn phòng nhỏ cũng như gia đình nhờ giá ngày càng hấp dẫn hơn.

Hình 1. Giao diện web của FreeNAS có rất nhiều tính năng, có cả soạn thảo tập tin.Ngoài sử dụng dữ liệu đồng thời từ nhiều máy tính, NAS còn có vài điểm mạnh khác so với ổ cứng USB. Thứ nhất, NAS hỗ trợ mã hóa tập tin và có chương trình RAID để tạo ra dữ liệu dự phòng. Thứ hai, NAS thường có nhiều dịch vụ như FTP, CIFS/SMB, SSH… do đó hỗ trợ máy khách với các hệ điều hành khác nhau. Việc kết nối qua giao tiếp mạng thay cho USB tạo ra khả năng truy cập tới dữ liệu từ Internet ở bất kỳ nơi nào.
Trên thị trường hiện có bán sẵn những thiết bị NAS có thương hiệu. Nhưng ở đây chúng ta sẽ tự tạo một NAS với chi phí thấp nhất, nếu bạn có một máy tính cũ không dùng đến. Nhờ hệ điều hành FreeNAS, dựa trên FreeBSD, những tính năng kể trên có thể cấu hình một cách dễ dàng, với phần cứng không yêu cầu cao.
Các hệ điều hành dòng FreeBSD không thân thiện với người dùng như các hệ điều hành khác, nhưng bù lại có tính ổn định và bảo mật cao. Người dùng Linux sẽ dễ dàng làm quen với các khái niệm của FreeBSD hơn người dùng Windows. Tuy nhiên, nếu bạn là người dùng Windows thì cũng đừng quá lo, vì FreeNAS có giao diện web mạnh với rất nhiều tính năng (hình 1), giải quyết được vấn đề thân thiện trên. Hơn nữa, sau khi cấu hình xong máy chủ FreeNAS (tiếp theo sẽ gọi tắt là FreeNAS), hệ thống sẽ tự động cung cấp dữ liệu mà không cần đến thao tác từ phía người dùng. Những công việc cấu hình sau này sẽ được thực hiện qua mạng nhờ giao diện web.
FreeNAS có kích thước rất nhỏ. Phiên bản mới nhất tới thời điểm này là 0.7, có thể lấy về từ trang sourceforge.net, dung lượng chưa đến 80 MB. Bạn có thể chọn cài đặt hệ thống lên ổ cứng, hoặc lên ổ USB, thậm chí chạy thẳng từ CD để không chiếm chỗ trên ổ cứng, dành hết ổ cứng cho dữ liệu. Chúng tôi khuyên nên tách riêng hệ thống và dữ liệu, để vẫn có khả năng chạy hệ thống khi ổ cứng bị trục trặc và dữ liệu sẽ không bị ảnh hưởng khi cập nhật hay cài lại hệ thống.
Yêu cầu đối với phần cứng
Hình 2. Quản lý ổ cứng trong FreeNAS.Như đã đề cập đến ở trên, FreeNAS không yêu cầu phần cứng cao:* Máy tính với 128MB RAM có thể khởi động được từ ổ CD hoặc USB.
* Ổ USB hoặc thẻ nhớ Flash để lưu cấu hình.
* Một hoặc vài ổ cứng cho dữ liệu.
Trong trường hợp của mình, tôi có một máy tính cũ không hỗ trợ khởi động từ USB, nên chọn chạy thẳng FreeNAS từ đĩa CD (LiveCD). Xin lưu ý, khác với phần lớn các bản phân phối LiveCD của Linux, FreeNAS sẽ nạp toàn bộ hệ thống vào RAM. Sau khi khởi động xong, bạn có thể sử dụng ổ CD/DVD cho các công việc khác. Ngoài ra, tài liệu của FreeNAS cho biết cấu hình trong trường hợp sử dụng LiveCD sẽ được đọc và ghi lên đĩa mềm. Trên thực tế, FreeNAS tự động nhận ra ổ USB đã gắn vào máy tính trước khi khởi động và dùng nó thay thế cho ổ mềm. Sử dụng USB Flash tất nhiên là an toàn hơn (thường có tuổi thọ cao hơn).
Yêu cầu đối với ổ cứng rất rõ ràng: Bạn cần bao nhiêu không gian thì trang bị bấy nhiêu. Tuy nhiên, tùy theo khả năng tài chính bạn nên tính trước nhu cầu của mình trong 1-3 năm. Nếu muốn cấu hình RAID thì cần ít nhất 2 ổ cứng (trong đa số các trường hợp) cùng một dung lượng.

Hình 3. Gắn ổ cứng vào hệ thống.Trong trường hợp cần mua ổ cứng mới mà máy tính cũ không có cổng SATA, trong khi các ổ cứng SATA hiện nay có tỷ lệ giá/dung lượng rất hấp dẫn, bạn có thể gắn thêm SATA controller vào khe PCI, ví dụ, FreeNAS hỗ trợ thẻ ST-Lab A-224 (chipset SIL-3114), gồm 4 cổng SATA II và 2 cổng e-SATA. Tuy nhiên, nếu máy tính của bạn có một thiết bị PCI khác, ví dụ card mạng, thì chúng sẽ chia sẻ tốc độ của khe PCI.Ngoài giao tiếp của ổ cứng (SATA hay IDE), bạn còn cần quyết định chọn kích thước 2,5" hay 3,5". Chọn ổ cứng kích thước nhỏ 2,5" (thường có dung lượng nhỏ hơn) nếu bạn cần sự gọn gàng và số lượng nhiều để làm RAID. Chọn kích thước lớn hơn nếu bạn cần dung lượng (tại thời điểm hiện thời ổ cứng 3,5" dung lượng 1,5TB có giá rất hấp dẫn) và thùng máy cho phép. Sau khi chuẩn bị xong phần cứng và khởi động FreeNAS, bạn có thể mở trình duyệt trên một máy tính bất kỳ trong mạng nội bộ (LAN), gõ địa chỉ IP của máy FreeNAS theo mặc định trong phiên bản 0.7 là 192.168.1.250, sẽ hiện ra trang đăng nhập vào giao diện web với tên người dùng và mật khẩu theo mặc định là admin/freenas. Chúng ta sẽ thay đổi tên người dùng và mật khẩu, cũng như giao thức truy cập. Vấn đề này sẽ được đề cập đến ở phía sau trong mục Bảo mật.
Cấu hình ổ cứng

Hình 4. Tạo RAID JBOD từ hai ổ cứng đã định dạng.Không cần phải bàn cãi, ổ cứng chính là phần quan trọng nhất của NAS. Mọi cấu hình cho ổ cứng trên FreeNAS được thực hiện qua trình đơn Disks. Bạn có nhiều lựa chọn, trong đó phổ biến nhất đối với NAS gia đình là hai khả năng: Dùng RAID và dùng ổ cứng riêng rẽ.1. Không dùng RAID. Ổ đĩa cứng được dùng riêng rẽ giống như vẫn thường dùng trên máy tính cá nhân. Cũng như trường hợp máy tính cá nhân, đầu tiên bạn cần định dạng ổ cứng trong Disks>Format, chọn định dạng hệ thống tập tin mà FreeNAS hỗ trợ như UFS (Unix File System). Sau đó, thêm ổ cứng vào hệ thống qua Disks>Management (hình 2). Hai thao tác này có thể đổi chỗ cho nhau. Sau mỗi thao tác nếu cần thiết FreeNAS sẽ nhắc bạn phải nhấn nút «Apply changes» để lưu lại cấu hình.
Khác với máy tính cá nhân dùng hệ điều hành Windows, bạn cần thực hiện thêm một thao tác - gắn ổ cứng (tiếng Anh gọi là “mount”) trong Disks>Mount Point (hình 3). Theo mặc định ổ cứng sẽ được gắn vào thư mục con của /mnt — /mnt/mount_point_name.

Hình 5. Cấu hình dịch vụ Samba. Trên tất cả các trang cấu hình dịch vụ đầu tiên cần chọn nút «Enable».2. Dùng RAID. Chúng ta sẽ thử tạo ra một hệ thống RAID đơn giản JBOD. Bạn cần thêm hai ổ cứng chưa định dạng trên trang Disks>Management. Sau đó định dạng từng ổ cứng với hệ thống tập tin "Software RAID". Bây giờ, chúng ta sẽ tạo JBOD từ những ổ cứng đó trong Disks>Software RAID (hình 4). JBOD là viết tắt của Just a Bunch Of Disks - chỉ là một tập hợp đĩa bình thường không có sao lưu cũng như sự tăng tốc độ đọc/ghi, cho phép dùng các đĩa có dung lượng khác nhau.Sau khi tạo JBOD, cần định dạng nhóm đĩa như một ổ cứng thông thường rồi gắn chúng vào hệ thống tập tin chung (xem phần 1).
Cuối cùng, trang Disks>Encryption cho phép mã hóa những dữ liệu cần tính bảo mật cao. Như vậy, chỉ sử dụng giao diện web của FreeNAS, người dùng có thể điều khiển các chức năng có liên quan đến ổ đĩa. Dần dần chúng ta sẽ thấy mọi chức năng khác của NAS đều có thể thực hiện qua giao diện web. Ví dụ, sự quản lý các dịch vụ.
Các dịch vụ
Sau khi cấu hình xong ổ cứng hay nhóm ổ cứng RAID, chúng ta cần chia sẻ chúng với các máy tính trong mạng bằng các dịch vụ. FreeNAS hỗ trợ nhiều dịch vụ chia sẻ tập tin khác nhau, do đó máy khách có thể chạy Windows, Linux hay các hệ điều hành phổ biến khác.
1. CIFS/SMB

Hình 6. Các chia sẻ của Samba.Trang cấu hình dịch vụ CIFS/SMB (Samba) có nhiều tùy chọn nhưng không quá phức tạp (hình 5). Dành một chút thời gian nghiên cứu bạn có thể hiểu chúng một cách dễ dàng.Sau đó cần thêm các chia sẻ như ở hình 6. Khi thêm một chia sẻ bằng nút «Add» hình dấu cộng +, hai tùy chọn quan trọng nhất là đường dẫn tới thư mục (Path) và tên (Name).
Và bạn đã có thể kết nối tới các chia sẻ này theo cách thường dùng (hình 7).
Đến đây bạn có thể dừng đọc nếu chỉ quan tâm đến sử dụng FreeNAS để làm kho dữ liệu thông thường. Những thông tin ở sau yêu cầu bạn đọc có kiến thức cơ bản về mạng máy tính, nhưng giúp tìm hiểu cách truy cập tới NAS cũng như dữ liệu từ Internet mà vẫn giữ được tính bảo mật.
2. FTP và SSH
Giao thức truyền tập tin (File Transfer Protocol hay FTP) cách đây không lâu là cách trao đổi tập tin qua Internet phổ biến nhất. Trình FTP có thể tìm thấy trên tất cả các hệ điều hành phổ biến. Cấu hình máy chủ FTP trên FreeNAS nằm trên trang Services>FTP. Thông thường bạn có thể dùng những cấu hình theo mặc định.
SSH (Secure Shell) là giao thức dùng để thiết lập kết nối mạng có mã hóa gói dữ liệu. Ngoài ra, đường hầm SSH (ssh tunneling) còn có khả năng mã hóa các gói dữ liệu của các giao thức không hỗ trợ bảo mật (như Samba và FTP).
Trên trang Services>SSH chọn «Enable» rồi nhấn nút «Save and Restart» để tạm thời dùng những cấu hình mặc định của SSH. Chúng ta sẽ quay lại với SSH trong phần Bảo mật ở dưới.
Dịch vụ BitTorrent

Hình 7. Kết nối tới các chia sẻ của Samba từ máy tính chạy Windows Vista.BitTorrent hiện là giao thức được sử dụng rộng rãi nhất để chia sẻ tập tin trên Internet. Có nhiều trường hợp, việc có hay không có giao thức này là yếu tố quyết định để lựa chọn NAS. Hỗ trợ của BitTorrent trên FreeNAS được bắt đầu từ phiên bản 0.69b2 với chương trình ctorrent. Đến phiên bản FreeNAS 0.69b3 nó được thay thế bởi Transmission và chương trình này được sử dụng cho tới nay.Xin lưu ý, để sử dụng BitTorrent cũng như các dịch vụ có liên quan tới Internet, bạn cần phải thêm địa chỉ IP của máy chủ DNS (có thể dùng địa chỉ của thiết bị định tuyến router - thường là 192.168.1.1) vào phần «DNS Settings» trên trang System>General Setup.
Cấu hình dịch vụ BitTorrent nằm trên trang Services>BitTorrent (hình 8). Để các máy khác có thể lấy dữ liệu từ máy của bạn, ngoài thiết lập DNS còn cần thay đổi số cổng («Peer Port»), nếu cổng mặc định 51413 bị tường lửa của router chặn. Bạn có thể lựa chọn mở cổng đó trên router hoặc đổi nó thành một cổng khác (ví dụ, 31929), và đừng quên đánh dấu vào «Port Forwarding», cũng như chọn thư mục cho cấu hình trong «Configuration Directory», nếu không sẽ bị mất mọi thông tin về các torrent sau khi khởi động lại từ LiveCD.
Giống như những dịch vụ kể trên, sau khi nhấn nút «Save and Restart», BitTorrent sẽ khởi động. Transmission có giao diện web theo mặc định tại địa chỉ http://192.168.1.250:9091, nhưng có nhiều điểm hạn chế hơn so với giao diện web của máy chủ FreeNAS, tuy nhiên vẫn đáp ứng những nhu cầu tối thiểu. Nếu thích mày mò, bạn có thể sử dụng phần mềm nguồn mở Transmission Remote GUI để thay thế. Phần mềm này chạy trên nhiều hệ điều hành khác nhau, có nhiều tính năng hơn và nhanh hơn giao diện web (hình 9).
Bảo mật
NAS là một thiết bị của mạng máy tính, do đó tất nhiên nảy sinh ra câu hỏi: Làm sao để bảo vệ NAS cũng như giữ kín thông tin khi truy cập trong mạng nội bộ cũng như từ Internet? Rất may là hệ điều hành FreeNAS có tất cả các công cụ bảo mật cần thiết.

Hình 8. Cấu hình dịch vụ BitTorrent.Đầu tiên, để bảo vệ FreeNAS, cần thay đổi mật khẩu của tài khoản quản trị hệ thống (admin và root sử dụng chung một mật khẩu) trên trang System>General>Password. Hãy dùng một mật khẩu mạnh gồm cả chữ cái, số và các ký hiệu nếu cần truy cập từ Internet. Lưu ý, người dùng nhóm wheel có thể chạy câu lệnh su để lấy quyền quản trị của root nếu biết mật khẩu này.Tiếp theo, thay đổi tên tài khoản quản trị (theo mặc định là admin) để bảo vệ hệ thống khỏi kiểu tấn công theo từ điển, cũng như dùng giao thức https thay cho giao thức theo mặc định http để bảo mật truy cập tới giao diện web trên trang System>General Setup.
Cuối cùng, cấu hình lại dịch vụ SSH: Không sử dụng kết nối bằng mật khẩu (không dùng «Enable keyboard-interactive authentication»), thay vào đó tạo và thiết lập để kết nối có khóa (SSH key), cho phép tạo đường hầm SSH (chọn «Permit to do SSH Tunneling»). Tất nhiên, bạn sẽ cần tạo một tài khoản người dùng bình thường (Access>Users), và nếu có thiết bị định tuyến router thì còn phải thiết lập cấu hình NAT của nó (hình 10).
Câu lệnh để tạo đường hầm SSH từ Linux tới NAS như sau:
$ ssh -v -p 22 -L 8888:localhost:443 \ username@your.FreeNASorRouter.IP.address

Hình 9. Chương trình Transmission Remote GUI phiên bản cho Windows.Trong trường hợp không có địa chỉ IP cố định, bạn có thể dùng dịch vụ (miễn phí) DynDNS. Khi đó câu lệnh nói trên có dạng:$ ssh -v -p 22 -L 8888:localhost:443 username@Name.dyndns.org
Sau khi đường hầm được thiết lập, hãy mở trình duyệt rồi gõ địa chỉ http://localhost:8888/ để truy cập tới giao diện web của máy chủ FreeNAS, tất cả các gói dữ liệu sẽ được mã hóa nhờ giao thức SSH. Tạo đường hầm cho các dịch vụ khác (Samba, FTP) một cách tương tự. Nếu cần tạo đường hầm từ hệ điều hành Windows, bạn có thể tham khảo hướng dẫn ngắn gọn và dễ hiểu trên Kho kiến thức FreeNAS.
Ngoài 3 vấn đề nêu ra, nếu có nhiều người dùng thì cần lưu ý chỉ cho phép khả năng truy cập điều khiển dòng lệnh khi đặc biệt cần thiết. Dùng đường hầm SSH hoặc SFTP thay cho FTP thông thường nếu kết nối từ Internet.
Lời kết

Hình 10: Thiết lập NAT của router cho phép tạo kết nối tới NAS từ InternetNhư vậy, từ một máy tính cũ chúng ta đã biến nó thành một máy chủ NAS có ích, đáp ứng nhu cầu lưu trữ dữ liệu. Tất nhiên là hệ điều hành FreeNAS, tuy chưa đạt phiên bản 1.0, nhưng có rất nhiều tính năng khác, như hỗ trợ các dịch vụ đồng bộ hóa (RSYNC, Unison), dịch vụ máy chủ Web, dịch vụ chia sẻ nhạc iTunes/DAAP, có khả năng theo dõi quá trình làm việc của hệ thống...Trong quá trình sử dụng bạn sẽ dần hiểu rõ hơn về những tính năng này.
Ngoài giá cả, điểm mạnh hơn của NAS tự làm so với NAS mua sẵn còn có sự mềm dẻo và sự tự do trong lựa chọn phần cứng cũng như phần mềm. Nếu cần tăng tốc độ đọc/ghi, người dùng NAS tự làm có thể thay thế (hoặc thêm) card mạng tốc độ cao. Nhưng đó đã là một câu chuyện khác. Về điểm yếu hơn có thể kể đến kích thước lớn chiếm nhiều không gian, tiếng ồn và công suất sử dụng điện cũng thường cao hơn.
Email: teppi@vnoss.org
----------------------------------------------------------------------
Tài liệu tham khảo
1. http://en.wikipedia.org/wiki/Network-attached_storage.
2. http://www.nas-central.org/.
3. Trang chủ FreeNAS. http://freenas.org/.
4. Trang dự án FreeNAS trên sourceforge.net. http://sourceforge.net/projects/freenas/files/.
5. Transmission Remote GUI. http://code.google.com/p/transmisson-remote-gui/.
6. Kho kiến thức FreeNAS: Tạo đường hầm SSH. http://www.freenaskb.info/kb/?View=entry&EntryID=190.
7. Những bài blog của tác giả viết về FreeNAS. http://phanvinhthinh.blogspot.com/search/label/FreeNAS.