Ringkasan disk dan sistem file

Halaman ini memberikan ringkasan tentang sistem file Container-Optimized OS dan menjelaskan cara memasang dan memformat disk.

Sistem file

Tata letak sistem file image node Container-Optimized OS dioptimalkan untuk meningkatkan keamanan node. Kapasitas disk booting dibagi menjadi tiga jenis partisi:

  • Partisi root, yang dipasang sebagai hanya baca.
  • Partisi stateful, yang dapat ditulis dan stateful.
  • Partisi stateless, yang dapat ditulis tetapi kontennya tidak akan dipertahankan setiap kali ada peristiwa mulai ulang.

Saat menggunakan Container-Optimized OS, perhatikan partisi jika Anda menjalankan layanan sendiri yang memiliki ekspektasi tertentu tentang tata letak sistem file di luar penampung.

Sistem file root dipasang sebagai hanya baca untuk melindungi integritas sistem. Namun, direktori beranda dan /mnt/stateful_partition bersifat persisten dan dapat ditulis.

Menggunakan sistem file Container-Optimized OS

Berikut adalah daftar jalur dalam sistem file image node Container-Optimized OS, beserta properti dan penggunaan yang direkomendasikan:

Jalur Properti Tujuan
/
  • hanya baca
  • dapat dieksekusi
Sistem file root dipasang sebagai hanya baca untuk menjaga integritas. Kernel memverifikasi integritas sistem file root selama booting, dan akan menolak booting jika terjadi error.
/home
/var
  • dapat ditulis
  • tidak dapat dieksekusi
  • stateful
Jalur ini dimaksudkan untuk menyimpan data yang akan dipertahankan selama boot disk masih digunakan. File tersebut dipasang dari /mnt/stateful_partition.
/var/lib/google
/var/lib/docker
/var/lib/toolbox
  • dapat ditulis
  • dapat dieksekusi
  • stateful
Jalur ini merupakan direktori kerja untuk paket Compute Engine (misalnya, layanan pengelola akun), Docker, dan Toolbox.
/var/lib/cloud
  • dapat ditulis
  • dapat dieksekusi
  • stateless
  • tmpfs
Jalur ini adalah direktori kerja paket cloud-init.
/etc
  • dapat ditulis
  • dapat dieksekusi
  • stateless
  • tmpfs
Biasanya menyimpan konfigurasi Anda (misalnya, layanan systemd yang ditentukan melalui cloud-init). Sebaiknya tangkap status instance yang diinginkan dari instance Anda di cloud-init, karena cloud-init diterapkan saat instance baru dibuat serta saat instance dimulai ulang.
/tmp
  • dapat ditulis
  • tidak dapat dieksekusi
  • stateless
  • tmpfs
Biasanya digunakan sebagai kapasitas sementara dan tidak boleh digunakan untuk menyimpan data persisten.
/mnt/disks
  • dapat ditulis
  • dapat dieksekusi
  • stateless
  • tmpfs
Anda dapat memasang persistent disk di direktori pada /mnt/disks.

Memasang dan memformat disk

Anda dapat memasang persistent disk atau membuat instance dengan SSD Lokal saat menggunakan OS yang Dioptimalkan untuk Container. Ikuti petunjuk tentang Memformat dan memasang persistent disk atau Memformat dan memasang perangkat SSD lokal untuk kasus penggunaan yang sesuai.

Disk dapat dipasang dengan membuat subdirektori di direktori /mnt/disks. Karena /etc/ stateless di Container-Optimized OS, Anda tidak dapat menggunakan /etc/fstab untuk melakukan fsck (pemeriksaan konsistensi sistem file) secara otomatis dan memasang disk saat booting. Namun, Anda dapat mencapai hal yang sama dengan melakukan operasi tersebut dari bagian bootcmd di cloud-config.

Contoh berikut memasang disk DEVICE_ID di direktori /mnt/disks.

  1. Buat file skrip menggunakan konten berikut:

    #cloud-config
    
    bootcmd:
    - fsck.ext4 -tvy /dev/DEVICE_ID
    - mkdir -p /mnt/disks/MNT_DIR
    - mount -t ext4 -o ... /dev/DEVICE_ID /mnt/disks/MNT_DIR
    

    Ganti kode berikut:

    • DEVICE_ID: ID perangkat disk yang ingin Anda format dan pasang.
    • MNT_DIR: direktori tempat memasang disk Anda.

    Lihat dokumentasi Linux untuk mengetahui kumpulan lengkap opsi yang didukung oleh perintah fsck.ext4 dan mount.

  2. Perbarui metadata VM untuk menyertakan file skrip menggunakan flag --metadata-from-file.

    Untuk membuat VM, gunakan perintah berikut:

    gcloud compute instances create INSTANCE_NAME \
        --metadata-from-file user-data=SCRIPT_FILE_NAME
    

    Untuk memperbarui instance yang ada, gunakan perintah berikut:

    gcloud compute instances add-metadata INSTANCE_NAME \
        --metadata-from-file user-data=SCRIPT_FILE_NAME
    

    Ganti kode berikut:

    • INSTANCE_NAME: nama instance VM Anda.
    • SCRIPT_FILE_NAME: nama file skrip metadata.