Contoh di bawah ini menunjukkan cara membuat skrip systemd untuk memasang disk di bawah jalur tertentu saat reboot secara otomatis.
1. Periksa filesystem UUID menggunakan perintah “blkid”.
# blkid /dev/sdb /dev/sdb: UUID="5813cd72-ff30-44bc-a7a3-27c68fe3e6c7" UUID_SUB="ccd243dc-1481-403f-aa51-1502a95cdf2f" TYPE="btrfs"
2. Kita perlu membuat unit mount baru untuk memasang sistem file. Unit mount harus dinamai menurut direktori mount point yang mereka kontrol. Misalnya:titik mount /var/lib/docker harus dikonfigurasi dalam file unit var-lib-docker.mount. Untuk detail tentang logika pelolosan yang digunakan untuk mengonversi jalur sistem file ke nama unit, lihat halaman manual systemd.unit.
# vi /etc/systemd/system/var-lib-docker.mount [Unit] Description=Docker mount [Mount] What=/dev/disk/by-uuid/5813cd72-ff30-44bc-a7a3-27c68fe3e6c7 Where=/var/lib/docker Type=btrfs Options=defaults [Install] WantedBy=multi-user.target
Opsi untuk "Apa" dapat berupa UUID, LABEL, jalur ke disk
3. Aktifkan unit systemd untuk dimulai setelah boot.
# systemctl enable var-lib-docker.mount
4. Skrip layanan buruh pelabuhan di bawah ini dimodifikasi untuk memastikan bahwa layanan hanya boleh dimulai setelah layanan mount dipanggil.
# cat /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket var-lib-docker.mount ### Added mount unit for docker service to wait Requires=docker.socket ...
5. Reboot node dan periksa status unit layanan mount.
# shutdown -r now
# systemctl status var-lib-docker.mount ● var-lib-docker.mount - Docker mount Loaded: loaded (/etc/systemd/system/var-lib-docker.mount; enabled; vendor preset: disabled) Active: active (mounted) since Tue 2016-06-07 02:06:07 IST; 54s ago Where: /var/lib/docker What: /dev/sdb Process: 416 ExecMount=/bin/mount /dev/disk/by-uuid/5813cd72-ff30-44bc-a7a3-27c68fe3e6c7 /var/lib/docker -n -t btrfs -o defaults (code=exited, status=0/SUCCESS) Jun 07 02:06:07 OL7-docker-TD systemd[1]: Mounting Docker mount... Jun 07 02:06:07 OL7-docker-TD systemd[1]: Mounted Docker mount.
6. Periksa titik pemasangan di perintah “mount”.
# mount | grep docker /dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)
Unit pemasangan tidak dapat ditambahkan untuk menjadi bagian dari operasi layanan lain. Jenis Unit systemd yang tersedia:
File Jenis Unit | Ekstensi | Deskripsi |
---|---|---|
Unit layanan | .layanan | Layanan sistem. |
Unit target | .target | Sekelompok unit systemd. |
Unit pasang otomatis | .automount | Titik automount sistem file. |
Unit perangkat | .perangkat | File perangkat yang dikenali oleh kernel. |
Pasang unit | .mount | Titik pemasangan sistem file. |
Unit jalur | .path | File atau direktori dalam sistem file. |
Unit cakupan | .scope | Proses yang dibuat secara eksternal. |
Unit irisan | .slice | Sekelompok unit yang terorganisir secara hierarkis yang mengelola proses sistem. |
Unit cuplikan | .snapshot | Status pengelola systemd yang disimpan. |
Unit soket | .socket | Soket komunikasi antar-proses. |
Tukar unit | .tukar | Perangkat swap atau file swap. |
Unit pengatur waktu | .timer | Pengatur waktu sistem. |