Ringkasan disk dan sistem file

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

Sistem file

Tata letak sistem file gambar node Container-Optimized OS dioptimalkan untuk meningkatkan keamanan node. Ruang boot disk 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 di seluruh reboot.

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

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

Bekerja dengan 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. Kunci 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
  • tidak 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 Container-Optimized OS. 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 bagian direktori /mnt/disks. Karena /etc/ bersifat 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 melakukannya dengan melakukan operasi tersebut dari bagian bootcmd di cloud-config.

Contoh berikut memasang disk DEVICE_ID pada 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.

    Lihat dokumentasi Linux untuk mengetahui sekumpulan opsi lengkap 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 mengupdate 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.