Dengan cara ini Anda dapat mengubah server Ubuntu Anda menjadi NAS yang fleksibel

Jika Anda menginginkan nas yang fleksibel, Anda hampir wajib menggunakan sistem operasi berbasis Linux. Server Ubuntu sangat ideal sebagai server Linux untuk berbagi file. Selain itu, Anda dapat dengan mudah menjalankan semua jenis layanan tambahan dengan Docker. Ansible NAS membuat berbagi file dan menjalankan layanan tambahan di Server Ubuntu sangat mudah, termasuk dasbor berbasis web. Pada artikel ini kita akan memulai.

Ansible NAS tumbuh dari rasa frustrasi David Stephens dengan FreeNAS, yang sering gagal meningkatkannya. Dan itulah mengapa saya juga menemukan Ansible NAS sendiri: FreeNAS adalah sistem operasi open source yang hebat untuk menjalankan nas di rumah, tetapi setelah kesekian kalinya saya harus menghubungkan keyboard dan layar ke NAS saya sehingga saya lelah menyelesaikan peningkatan bermasalah.

Saya mencari alternatif dan menemukan Ansible NAS (yang menurut saya terlihat menarik), menginstal Ubuntu Server terlebih dahulu dan kemudian Ansible NAS. Sejak itu saya sangat puas. Sementara itu, saya menjalankan lebih banyak layanan di atasnya daripada yang pernah saya lakukan di FreeNAS.

01 Memilih perangkat keras

Pertama-tama, Anda perlu memikirkan tentang perangkat keras tempat Anda ingin menjalankan Ansible NAS. Pada prinsipnya, prosesor 64bit yang kompatibel dengan Intel yang menjalankan Server Ubuntu sudah cukup. Jumlah memori internal dan kapasitas penyimpanan Anda jelas bergantung pada apa yang sebenarnya ingin Anda lakukan dengannya dan berapa banyak file yang Anda miliki. Prosesor sangat penting jika Anda berencana menjalankan banyak layanan tambahan pada NAS Anda. Kebanyakan orang benar-benar tidak membutuhkan mesin super cepat untuk NAS mereka. Saya sendiri telah menggunakan server menara Dell PowerEdge T110 II yang ringkas dengan FreeNAS selama bertahun-tahun, dan dengan Server Ubuntu berjalan dengan lancar. David Stephens menguji NAS yang Mungkin pada HP Proliant Microserver N54L.

Ansible NAS mengasumsikan bahwa Anda menggunakan sistem file ZFS untuk disk data Anda, yang sangat andal. Ini tidak perlu, tetapi dalam kasus saya disk data saya sudah mendukung ZFS karena FreeNAS menggunakan sistem file itu juga. Oleh karena itu saya dapat dengan mudah mengimpornya ke Server Ubuntu. Jika Anda bekerja dengan ZFS, disarankan minimal 8 GB ram, meskipun dapat juga dilakukan dengan lebih sedikit.

Untuk NAS tentu disarankan untuk memperkenalkan beberapa redundansi untuk keamanan ekstra jika terjadi kegagalan drive. Cara termudah adalah dengan menyiapkan dua disk data dalam konfigurasi cermin (alias serangan 1): dua disk dengan ukuran yang sama yang saling menyalin. Ini mudah dibuat dengan ZFS. Sistem operasi itu sendiri paling baik dipasang pada disk yang lebih kecil dan terpisah.

02 Menginstal Server Ubuntu

Ansible NAS bukanlah sistem operasi nas seperti FreeNAS, melainkan harus dilihat sebagai konfigurasi nas dari server Ubuntu. Jadi anda harus menginstall Ubuntu Server terlebih dahulu. NAS yang mungkin mendukung versi LTS saat ini, Ubuntu 18.04 LTS. Unduh gambar dari situs web Ubuntu dan disket ke stik USB atau DVD-RW. Lihat juga artikel versi desktop Ubuntu di halaman ## untuk instruksi lebih lanjut.

Pemasangannya mirip dengan Ubuntu Desktop, tetapi tanpa antarmuka grafis: sebagai gantinya, langkah-langkahnya ditampilkan di jendela teks yang berurutan. Pilih tata letak keyboard Anda dan kemudian pilih Instal Ubuntu . Setelah itu, koneksi jaringan biasanya diatur secara otomatis jika Anda menggunakan dhcp di jaringan Anda. Pada langkah selanjutnya Anda memilih penyimpanan Anda. Pilih Gunakan Seluruh Disk dan pilih disk tempat Anda ingin menginstal Ubuntu. Konfirmasikan partisi yang disarankan (secara default Ubuntu menggunakan sistem file ext4, yang baik untuk disk boot) dengan Selesai dan konfirmasi lagi dengan Lanjutkan . Kemudian disk yang dipilih akan dihapus dan penginstalan akan dimulai.

Kemudian masukkan beberapa informasi, seperti nama server, nama pengguna dan kata sandi Anda. Kemudian Anda harus menunggu hingga penginstalan selesai. Karena Server Ubuntu hanya menginstal perangkat lunak yang berguna untuk server, ini lebih cepat daripada Desktop Ubuntu. Setelah itu lepas media instalasi dan pilih Reboot Now . Setelah itu, reboot nas dan jalankan Server Ubuntu. Lihat di kotak 'Akses ke server Ubuntu Anda' cara masuk.

Akses server Ubuntu Anda

Server Ubuntu tidak memiliki antarmuka grafis, jadi Anda harus memasukkan semua jenis perintah. Anda dapat melakukan ini melalui keyboard dan layar yang Anda hubungkan selama instalasi, tetapi dapat juga dilakukan tanpanya, yaitu melalui ssh (shell aman) dari komputer lain di jaringan. Jika Anda menjalankan versi Windows sebelum April 2018, Anda perlu menginstal program PuTTY. Jika Anda memiliki versi Windows 10 yang lebih baru, Anda dapat menggunakan klien ssh bawaan. Untuk melakukan ini, pertama buka Pengaturan / Aplikasi / Komponen opsional dan kemudian klik Tambahkan komponen . Pilih klien OpenSSH dan mulai ulang komputer Anda. Setelah itu, Anda bisa login ke server Ubuntu Anda di Command Prompt Windows dengan perintah ssh username @ server. Konfirmasikan denganya , Anda mempercayai sidik jari dan memasukkan kata sandi Anda. Linux dan macOS sudah menginstal klien ssh secara default, sehingga Anda dapat segera memulai.

03 Mempersiapkan disk data

Di kelas master ini kami berasumsi bahwa Anda menggunakan ZFS untuk disk data Anda. Instal alat yang diperlukan dengan:

sudo apt menginstal zfsutils

Kemudian kami ingin membuat sistem file ZFS pada dua drive dalam konfigurasi mirror. Pertama, gunakan perintah lsblk untuk memeriksa drive mana yang diketahui Ubuntu. Disk startup Anda kemungkinan besar disebut sda dan dua disk lainnya adalah sdb dan sdc . Sekarang buat tabel partisi baru untuk dua yang terakhir:

sudo berpisah / dev / sdb

(berpisah) mklabel gpt

(berpisah) berhenti

sudo berpisah / dev / sdc

(berpisah) mklabel gpt

(berpisah) berhenti

Sekarang lihat apa ID dari dua disk data Anda:

ls -l / dev / disk / by-id /

Bagaimanapun, nama-nama tersebut tidak dijamin akan tetap sama; ID melakukannya. ID terlihat seperti ata-SAMSUNG_HD204UI_S2H7J9JB712549 . Maka Anda masih perlu mengetahui ukuran sektor hard drive Anda. Untuk hard drive modern, itu 4 kilobyte, tetapi beberapa berbohong dan menampilkan 512 byte ketika Anda bertanya karena Windows XP bermasalah dengan 4 kilobyte.

04 Membuat ZFS Pool

Dengan semua informasi ini kita sekarang dapat membuat 'kumpulan' pada dua disk:

sudo zpool create -o ashift = 12 tank mirror ata-SAMSUNG_HD204UI_S2H7J9JB712549 ata-SAMSUNG_HD204UI_S2H7J9JB712552

Teks ashift = 12 menunjukkan ukuran sektor 4 kilobyte (2 ^ 12); tangki adalah nama kolam. Sudah menjadi tradisi untuk memilih nama karakter dari film The Matrix, seperti tank, dozer atau ash, tetapi Anda juga bisa menyebutnya tanggal. Hanya saja, jangan membuatnya terlalu lama untuk membuatnya mudah digunakan saat mengetik.

Kemudian dengan daftar zpool Anda melihat semua kumpulan Anda, dengan status zpool status semua kumpulan Anda dan dengan daftar zfs semua sistem file ZFS Anda. Secara default, zpool create membuat sistem file dengan nama yang sama dengan pool Anda dan memasangnya di bawah partisi root Anda. Oleh karena itu, kolam Anda yang disebut tangki terhubung di bawah / tangki .

Merupakan kebiasaan untuk membuat beberapa sistem file ZFS di bawah kumpulan Anda, karena Anda dapat mengatur per sistem file apakah Anda ingin menggunakan kompresi, apakah file dapat dieksekusi, dan seterusnya. Lihat tip konfigurasi ZFS di situs web Ansible NAS.

05 Memasang NAS yang Mungkin

Sekarang setelah dasar-dasarnya siap, kita dapat menginstal Ansible NAS. Pertama kita perlu mengaktifkan repositori lain dengan perintah:

sudo add-apt-repository universe

Kemudian kami menginstal Ansible:

sudo apt menginstal memungkinkan

Ansible adalah perangkat lunak otomatisasi yang memungkinkan Anda mengkonfigurasi sistem Linux Anda secara otomatis. Ansible NAS pada dasarnya hanyalah konfigurasi standar bahasa yang mungkin ('buku pedoman') untuk mengubah server Ubuntu Anda menjadi NAS. Jadi, menginstal Ansible NAS intinya hanya mengunduh konfigurasi itu dari GitHub:

git clone http://github.com/davestephens/ansible-nas.git

Setelah itu masuk ke direktori yang berisi Ansible NAS:

cd ansible-nas

06 Mengonfigurasi NAS yang Mungkin

NAS yang mungkin hadir dengan konfigurasi default di group_vars / all.yml.dist . Salin dulu, sehingga Anda dapat menyesuaikan konfigurasi Anda sendiri:

cp group_vars / all.yml.dist group_vars / all.yml

Sekarang buka file terakhir ini dengan editor nano:

nano group_vars / all.yml

Konfigurasi lengkap Ansible NAS dilakukan dalam satu file ini. Baris yang dimulai dengan # adalah baris komentar. Mereka ada di seluruh file untuk penjelasan. Misalnya, Anda dapat mengaktifkan layanan yang ditentukan dengan mengubah false menjadi true .

Tetapi pertama-tama Anda perlu mengatur beberapa hal penting di bawah Umum , seperti nama host server Ubuntu Anda, zona waktu Anda dan nama pengguna di mana Anda ingin menjalankan Ansible NAS. Juga masukkan jalur tempat Docker menyimpan data kontainernya.

Di bawah Samba, Anda akan menemukan konfigurasi berbagi file Anda. Di sini Anda mengatur jalur di mana semua file Anda yang ingin Anda bagikan akan ditempatkan. Di bawahnya, Ansible NAS menentukan semua jenis subfolder untuk unduhan, film, serial, torrent, musik, podcast, dan sebagainya. Untuk setiap share tersebut, Anda dapat mengatur apakah mereka tersedia untuk umum dan sejenisnya.

Simpan perubahan Anda dengan Ctrl + O lalu tutup nano dengan Ctrl + X.

07 Terapkan konfigurasi

Kemudian salin satu file lagi dengan:

cp inventory.dist inventaris

Dan hapus hash untuk baris kedua di sana, sehingga terlihat seperti ini:

localhost ansible_connection = lokal

Simpan file dan instal beberapa dependensi lainnya:

ansible-galaxy install -r requirement.yml

Terakhir, terapkan konfigurasi Ansible NAS Anda dengan:

ansible-playbook -i inventaris nas.yml -b -K

Tingkatkan NAS yang Mungkin

NAS yang memungkinkan secara aktif dipertahankan dan layanan baru terus ditambahkan. Namun, karena Ansible NAS bukanlah program tetapi kumpulan file konfigurasi, pemutakhiran agak tidak lazim. Untuk melakukan itu, Anda masuk ke direktori NAS yang mungkin dan kemudian menarik perubahan terbaru dari GitHub dengan perintah git pull. Kemudian Anda perlu menyalin semua bagian konfigurasi baru di file group_vars / all.yml.dist ke versi Anda sendiri group_vars / all.yml . Cara yang berguna untuk melihat perubahan tersebut adalah dengan melihat pada keluaran git pull baris seperti 84e0c96..7860ab5 master -> origin / master . Kemudian jalankan perintah berikut untuk menunjukkan perbedaannya:

git diff 84e0c96: group_vars / all.yml.dist 7860ab5: group_vars / all.yml.dist

Warna hijau Anda melihat baris baru, di baris merah dihapus. Kemudian buat perubahan itu di group_vars / all.yml . Kemudian terapkan kembali konfigurasi dengan:

ansible-playbook -i inventaris nas.yml -b -K

08 Dasbor untuk semua layanan Anda

Mulai sekarang Anda berbagi folder set di jaringan Anda. Di Windows, Anda dapat dengan mudah mengaksesnya di Windows Explorer. Tapi apa lagi yang bisa Anda lakukan dengan Ansible NAS? Hal pertama yang Anda lakukan terbaik adalah menambahkan semua layanan tambahan yang telah Anda siapkan di file konfigurasi NAS yang mungkin ke dasbor Heimdall.

Konsep Heimdall mungkin terdengar agak sederhana dan tidak berguna: ini adalah server web sederhana dengan satu halaman web tempat Anda dapat menambahkan ikon aplikasi web. Tidak lagi. Namun jika, seperti dalam kasus Ansible NAS, Anda menginstal semua jenis layanan, masing-masing dengan antarmuka webnya sendiri, Anda akan segera kehilangan ikhtisar jika Anda tidak memiliki satu tempat untuk menjangkau semuanya. Heimdall unggul dalam hal ini, yang berjalan pada port 10080 nas Anda secara default.

09 Menambahkan shift ke dashboard Anda

Karenanya, buka dasbor di browser web Anda dan klik ikon dengan tiga garis horizontal di kanan bawah. Klik Tambah dan masukkan nama dan url layanan yang ingin Anda tambahkan. Jika layanan didukung oleh Heimdall, nama layanan juga akan muncul di bawah Jenis Aplikasi , di mana Anda juga dapat mengatur jenisnya sendiri jika, misalnya, Anda lebih suka memanggil 'router' router OPNsense di dasbor Anda. Anda juga dapat mengatur ikon atau warna latar belakang. Terakhir, periksa apakah Disematkan diaktifkan di bagian atas dan klik Simpan untuk menambahkan layanan ke dasbor Anda.

Lakukan ini sekarang untuk semua layanan Ansible NAS, yang nomor portnya dapat ditemukan di dokumentasi Ansible NAS. Anda juga bisa menambahkan website lain, seperti webmail Anda atau website lain yang sering Anda gunakan.

10 wadah

NAS yang memungkinkan menginstal semua layanan (kecuali pengelola file) di wadah Docker. Penampung adalah sejenis mesin virtual, tetapi menggunakan kernel yang sama dengan sistem operasi yang mendasarinya. Dengan mengisolasi setiap layanan dalam wadah terpisah, Anda memastikan bahwa layanan tidak mengganggu satu sama lain dan menyebabkan masalah ketidakcocokan.

Anda tidak perlu khawatir tentang itu untuk penggunaan normal, tetapi jika Anda ingin melakukan beberapa tugas konfigurasi lanjutan atau bahkan menginstal layanan tambahan yang tidak didukung Ansible NAS secara default, maka akan berguna jika Anda dapat bekerja dengan Docker . Lihat kotak 'Kelola kontainer dengan Portainer'.

11 Menginstal layanan tambahan

Ansible NAS berisi banyak layanan tambahan yang dapat Anda instal. Bagi banyak orang, cukup menetapkan variabel dengan nama layanan di file group_vars / all.yml dan kemudian menyetel _enabled ke true untuk mengaktifkan layanan. Opsi konfigurasi tambahan seperti nama pengguna, direktori, dll. Untuk layanan khusus tersebut dapat ditemukan di bagian bawah file konfigurasi. Pastikan untuk memeriksa dokumentasi online Ansible NAS, karena berisi beberapa informasi tambahan untuk beberapa layanan.

Setiap kali Anda mengedit file konfigurasi, Anda perlu menerapkan konfigurasi Ansible:

ansible-playbook -i inventaris nas.yml -b -K

Itu akan menginstal container Docker yang diperlukan dan menyiapkan konfigurasi Anda.

12 Layanan menarik dekat

Akan terlalu jauh untuk membahas semua layanan Ansible NAS, tetapi kami akan menyebutkan beberapa layanan menarik. Menara Pengawal menarik karena mengunduh versi terbaru dari semua penampung Anda setiap hari dan memulai ulang dengan versi baru itu ketika ada pembaruan. Cloudflare Dynamic DNS Updater memperbarui DNS dinamis Anda di Cloudflare. Traefik dapat memberikan akses jarak jauh ke semua layanan Anda, termasuk sertifikat TLS untuk setiap layanan melalui Let's Encrypt.

Anda juga memiliki semua jenis layanan untuk mengunduh multimedia, seperti Transmission for BitTorrent dan NZBGet untuk Usenet. Juga merupakan layanan Time Machine untuk mencadangkan Mac Anda, server DLNA, Server Media Plex dan bahkan Nextcloud untuk berbagi file Anda dengan orang lain. Singkatnya, dengan Ansible NAS Anda dapat menghasilkan lebih banyak lagi NAS Anda.

Mengelola kontainer dengan Portainer

Antarmuka web yang ramah pengguna untuk Docker adalah Portainer. Selain Heimdall, ini adalah satu-satunya layanan lain yang mengaktifkan Ansible NAS secara default, justru karena kedua layanan tersebut sangat nyaman. Anda akan menemukan Portainer di port 9000. Masuk ke browser web Anda dengan nama pengguna yang Anda buat untuk server Ubuntu Anda dan kata sandi yang sesuai. Kemudian klik pada Kontainer untuk melihat kontainer Anda. Anda dapat menghentikan, memulai ulang, menjeda, menghapus setiap penampung, dan sebagainya. Namun berhati-hatilah jika Anda menghapus penampung: saat berikutnya Anda menerapkan konfigurasi NAS yang Mungkin, penampung akan dibuat ulang jika Anda belum menonaktifkannya di file group_vars / all.yml . Klik Tambahkan penampungAnda juga dapat menginstal layanan tambahan yang tidak disediakan oleh Ansible NAS. Untuk melakukan ini, di Image, masukkan nama image yang ada di Docker Hub.