Tujuan
Pelajari cara memanfaatkan daemon autofs untuk mengotomatiskan perangkat dan berbagi jarak jauh.
Persyaratan
- Hak istimewa root untuk menginstal paket autofs dan mengedit file konfigurasi
Kesulitan
MUDAH
Pengantar
Memasang dan melepas perangkat secara manual seperti drive USB eksternal atau NFS
jarak jauh atau Samba
berbagi dapat menjadi tugas yang membosankan untuk dilakukan saat mengelola mesin. autofs
daemon dapat membantu kita memasang sistem file secara otomatis saat dibutuhkan dan meng-unmountnya setelah jangka waktu tertentu. Dalam tutorial ini kita akan melihat konsep dasar yang terkait dengan automounter, dan cara mengkonfigurasinya.
Instalasi Autofs
Hal pertama yang harus dilakukan adalah menginstal autofs
kemasan. Ini tersedia di repositori resmi CentOS7 dan Rhel7, oleh karena itu kita hanya perlu menggunakan yum
manajer paket untuk mendapatkannya:
$ sudo yum install autofs
Langkah selanjutnya adalah memulai autofs
daemon, dan aktifkan saat boot:
$ sudo systemctl enable --now autofs
Konfigurasi daemon autofs
Daemon autofs dikonfigurasi dengan memanipulasi beberapa file, masing-masing dengan tujuan spesifiknya sendiri. Apa yang pada dasarnya harus kita lakukan adalah memberikan beberapa instruksi kepada daemon, untuk memberi tahu bagaimana ia harus mengelola mountpoints dan perangkat (ini yang kita sebut map
), dan secara opsional serangkaian opsi yang dapat digunakan untuk mengubah perilakunya. Mari kita lihat apa file konfigurasi itu dan apa perannya.
File /etc/sysconfig/autofs
/etc/sysconfig/autofs
file adalah file konfigurasi utama untuk autofs
daemon dan berisi pengaturan globalnya. Ini adalah konten file dalam instalasi default CentOS 7.5:
# # Init syatem options # # If the kernel supports using the autofs miscellanous device # and you wish to use it you must set this configuration option # to "yes" otherwise it will not be used. # USE_MISC_DEVICE="yes" # # Use OPTIONS to add automount(8) command line options that # will be used when the daemon is started. # #OPTIONS="" #
Kita dapat memodifikasi perilaku daemon dengan menghapus komentar pada Baris 13 dan meneruskan argumen baris perintah dalam bentuk string, sebagai nilai OPTIONS
variabel.
Mari kita buat sebuah contoh:katakanlah kita ingin mengubah interval waktu default setelah daemon secara otomatis meng-unmount sistem file:nilai defaultnya adalah 300
detik atau 5 menit. Dengan membaca manual autofs (automount(8)
), kita dapat melihat bahwa untuk mengubah parameter ini kita harus menggunakan --timeout
opsi, yang mengambil sebagai parameter, interval waktu yang dinyatakan dalam seconds
:
-t , --timeout Set the global minimum timeout, in seconds, until directories are unmounted. The default is 10 minutes. Setting the timeout to zero disables umounts completely. The internal program default is 10 minutes, but the default installed configuration overrides this and sets the timeout to 5 minutes to be consistent with earlier autofs releases.
Katakanlah misalnya kita ingin mengubah batas waktu unmount default menjadi 10 menit, begitulah kita harus mengubah /etc/sysconfig/autofs
berkas:
OPTIONS="--timeout=600"
Setelah menyimpan perubahan, kita harus memulai ulang daemon agar konfigurasi baru diterapkan. Kita dapat melihat bagaimana opsi timeout baru telah diadopsi dengan memeriksa status daemon dengan systemctl
:
$ systemctl status autofs autofs.service - Automounts filesystems on demand [...] CGroup: /system.slice/autofs.service └─6452 /usr/sbin/automount --timeout=600 --foreground --dont-check-daemon [...]
File /etc/auto.master
auto.master
file sangat penting, karena berisi master map
automounter . Setiap peta mengaitkan titik mount dengan file konfigurasi di mana sistem file yang akan dipasang dijelaskan, jadi pada dasarnya menggambarkan peta lain. Peta dibuat menggunakan sintaks berikut:
<mountpoint> <configuration file> <options>
Konfigurasi memberitahu daemon bahwa mountpoint
yang diberikan dikelola oleh peta yang diatur dalam configuration file
yang diberikan , menerapkan opsi yang disediakan, yang dapat menimpa opsi global (ini dapat berguna, misalnya, untuk memberikan batas waktu pelepasan khusus untuk setiap titik pemasangan). Mari kita lihat contoh konkritnya:jika kita melihat file Line 7, kita dapat melihat peta berikut:
/misc /etc/auto.misc
Konfigurasi ini menetapkan bahwa /misc
mountpoint tertarik dengan pemetaan yang dijelaskan dalam /etc/auto.misc
mengajukan. Mari kita lihat bagaimana peta tersebut dikonfigurasi dengan melihatnya.
File /etc/auto.misc
Seperti yang kita lihat di /etc/auto.master
file, /misc
mountpoint dikaitkan dengan /etc/auto.misc
berkas konfigurasi. Sekarang kita akan memeriksanya, untuk memahami bagaimana peta untuk perangkat didefinisikan. Ini adalah konten default file:
# # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # Details may be found in the autofs(5) manpage cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom [...]
Sintaks yang digunakan untuk konfigurasi adalah sebagai berikut:
<key> <mount options> <filesystem>
Hal pertama yang harus kita tentukan adalah key
. Nilai parameter ini, akan digunakan, dalam kasus indirect maps
(kita akan membedakan jenis peta dalam satu menit) sebagai nama subdirektori yang akan dibuat jika tidak ada, di bawah mountpoint utama, yang dalam hal ini adalah /misc
. /dev/cdrom
perangkat, oleh karena itu akan dipasang secara otomatis pada /misc/cd
direktori.
Elemen kedua yang harus disediakan adalah daftar opsi pemasangan yang harus diterapkan:dalam contoh ini -fstype
opsi telah digunakan untuk menentukan jenis sistem file, bersama dengan ro
, nosuid
dan nodev
.
Akhirnya kita harus menentukan lokasi sistem file. Dalam hal ini, karena ini adalah jalur lokal, itu harus diawali dengan :
karakter (titik dua).
Dalam kasus NFS
jarak jauh bagikan, kami akan menulis 192.168.1.39:/srv/nfs_share
sebagai gantinya, di mana 192.168.1.39
adalah alamat mesin jarak jauh (nama host juga dapat digunakan), dan /srv/nfs_share
adalah jalur direktori bersama di dalamnya.
Saat mengacu pada pembagian samba, kita seharusnya menyediakan -fstype=cifs
sebagai opsi, menentukan ip mesin jarak jauh dan jalur direktori bersama dalam format berikut:
://192.168.1.39/srv/samba_share
Peta tidak langsung, langsung, dan host
Kami menyebutkan indirect maps
sebelumnya, mari kita lihat sekarang secara detail, berbagai jenis peta. Ada tiga jenis peta yang bisa kita gunakan:direct
, indirect
dan peta host:contoh indirect maps
adalah apa yang baru saja kita lihat di file /etc/auto.master, untuk /misc
titik mount.
Sebuah peta disebut tidak langsung, karena key
parameter yang ditentukan dalam file konfigurasi (/etc/auto.misc
dalam hal ini) terkait dengan mountpoint (/etc/misc
), akan digunakan sebagai nama direktori relatif terhadap titik mount tempat sistem file (:/dev/cdrom
dalam contoh kita) akan dipasang.
Sebuah direct map
, selalu ditentukan dengan sintaks berikut dalam file auto.master:
/- /etc/auto.misc
Ketika /-
digunakan sebagai mountpoint di peta, itu berarti kita menggunakan peta langsung. Dalam hal ini, key
elemen sintaks yang digunakan dalam file konfigurasi yang terkait dengan mountpoint, harus berupa jalur absolut. Oleh karena itu, pada contoh di atas, kita akan menulis:
/cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
Akhirnya kita dapat menemukan host map
contoh di file /etc/auto.master, pada Baris 13:
/net -hosts
Peta seperti itu ditentukan secara default; bagaimana cara kerjanya? Ketika peta host ditentukan, automounter membuat subdirektori di bawah mountpoint yang ditentukan (/net
dalam hal ini) untuk setiap mesin yang terdaftar di /etc/hosts
yang mengekspor NFS
Bagikan. Ini dimungkinkan berkat /etc/auto.net
script, yang sekarang akan kita periksa. Setiap direktori bersama akan dipasang secara default dengan nosuid
dan nodev
pilihan.
Skrip /etc/auto.net dan /etc/auto.smb
Ada dua skrip yang sangat berguna yang disertakan dalam autofs
instalasi:/etc/auto.net
dan /etc/auto.smb
. Skrip tersebut pada dasarnya adalah pembungkus, masing-masing, showmount
dan smbclient
program, digunakan untuk menemukan NFS dan samba yang tersedia. Mereka akan menghasilkan format hasil yang dapat digunakan oleh automounter.
/etc/auto.net
script dapat digunakan untuk memiliki gambaran umum dan membaca saham NFS. Kita dapat menjalankan skrip dengan menentukan nama host atau alamat ip server yang ingin kita cari sebagai argumen:
$ sudo /etc/auto.net 192.168.1.39
Sekarang, bayangkan bahwa bagian ditemukan. Perintah akan mengembalikan output yang mirip dengan ini:
/shared 192.168.1.39:/shared
Ini berarti bahwa pada mesin dengan ip 192.168.1.39, kode /shared
direktori dibagikan melalui NFS. Berdasarkan host map
kami temukan di file /etc/auto.master kami akan dapat mengakses share di /net/192.168.1.39/shared
. Ini karena, seperti yang kami katakan sebelumnya, saat menggunakan peta host, untuk setiap mesin di file /etc/hosts yang mengekspor bagian NFS, sebuah subdirektori dibuat di bawah /net.
/etc/auto.smb
bekerja dengan cara yang serupa. Jika kita ingin share samba di jaringan kita dipasang secara otomatis oleh automounter, seperti yang terjadi pada share NFS, hal pertama yang harus kita lakukan adalah menambahkan peta ini di /etc/auto.master
berkas:
/cifs /etc/auto.smb
Setelah peta ditambahkan, kita harus memulai ulang daemon:
sudo systemctl restart autofs
Pada titik ini, berkat /etc/auto.smb
skrip, untuk setiap mesin yang mengekspor satu atau lebih smb share di jaringan kami, sebuah direktori akan dibuat di bawah /cifs
. Misalnya, bayangkan bahwa pada mesin dengan ip 192.168.122.32 kita memiliki /srv/samba
direktori yang dibagikan melalui samba. Jika kami ingin memverifikasinya, kami dapat menjalankan /etc/auto.smb
skrip terhadap ip mesin itu. Berikut adalah outputnya:
$ /etc/auto.smb 192.168.122.32 -fstype=cifs,guest \ "/sambadir" "://192.168.122.32/sambadir"
Seperti yang dikatakan sebelumnya, skrip adalah pembungkus smbclient
, dan menghasilkan output yang dapat digunakan oleh automounter. Direktori bersama akan tersedia, di sistem file lokal kami, di dalam /cifs/192.168.122.32/
yang dibuat secara otomatis direktori:
$ ls /cifs/192.168.122.32 sambadir
Pemasangan dan pelepasan yang malas
Untuk mengoptimalkan jumlah mountpoint yang dibuat, automounter menggunakan teknik yang disebut lazy mounting
. Alih-alih memasang perangkat segera setelah tersedia atau ditemukan, perangkat akan menunggu hingga pengguna mencoba mengakses sistem file:baru kemudian operasi pemasangan dilakukan. Hal yang sama terjadi untuk proses pelepasan:perangkat dilepas setelah batas waktu yang ditentukan secara otomatis.