Menggunakan penyimpanan file eksternal di Azure Lab Services

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Artikel ini membahas beberapa opsi untuk menggunakan penyimpanan file eksternal di Azure Lab Services. Azure Files menawarkan pembagian file yang dikelola sepenuhnya di awan, dapat diakses melalui SMB 2.1 dan SMB 3.0. Berbagi Azure Files dapat dihubungkan secara publik atau privat dalam jaringan virtual. Anda juga dapat mengonfigurasi berbagi untuk menggunakan kredensial Direktori Aktif pengguna lab untuk menyambungkan ke berbagi file. Jika Anda menggunakan komputer Linux, Anda juga dapat menggunakan Azure NetApp Files dengan volume NFS untuk penyimpanan file eksternal dengan Azure Lab Services.

Solusi mana kah yang akan digunakan

Tabel berikut ini mencantumkan pertimbangan penting untuk setiap solusi penyimpanan eksternal.

Solusi Penting untuk diketahui
Berbagi Azure Files dengan titik akhir publik
  • Setiap orang memiliki akses baca/tulis.
  • Tidak diperlukan peering jaringan virtual.
  • Dapat diakses oleh semua komputer virtual, bukan hanya komputer virtual lab.
  • Jika Anda menggunakan Linux, pengguna lab memiliki akses ke kunci akun penyimpanan.
Berbagi Azure Files dengan titik akhir privat
  • Setiap orang memiliki akses baca/tulis.
  • Diperlukan peering komputer virtual.
  • Hanya dapat diakses oleh komputer virtual pada jaringan yang sama (atau jaringan peered) sebagai akun penyimpanan.
  • Jika Anda menggunakan Linux, pengguna lab memiliki akses ke kunci akun penyimpanan.
Azure NetApp Files dengan volume NFS
  • Akses baca atau baca/tulis dapat diatur untuk volume.
  • Izin diatur dengan menggunakan alamat IP VM lab.
  • Diperlukan peering komputer virtual.
  • Anda mungkin perlu mendaftar untuk menggunakan layanan Azure NetApp Files.
  • Hanya Linux.

Biaya penggunaan penyimpanan eksternal tidak termasuk dalam biaya penggunaan Azure Lab Services. Untuk informasi selengkapnya tentang harga, lihat harga Azure Files dan harga Azure NetApp Files.

Berbagi Azure Files

Berbagi Azure Files diakses dengan menggunakan titik akhir publik atau privat. Anda memasang berbagi ke komputer virtual dengan menggunakan kunci akun penyimpanan sebagai kata sandi. Dengan pendekatan ini, setiap orang memiliki akses baca-tulis ke berbagi file.

Secara default, berbagi file standar dapat mencapai hingga 5 TiB. Lihat Membuat berbagi file Azure untuk informasi tentang cara membuat berbagi file yang mencakup hingga 100 TiB.

Pertimbangan untuk menggunakan titik akhir publik

  • Jaringan virtual untuk akun penyimpanan tidak harus terhubung ke jaringan virtual lab. Anda dapat membuat berbagi file kapan saja sebelum komputer virtual templat diterbitkan.
  • Berbagi file dapat diakses dari komputer mana pun jika pengguna memiliki kunci akun penyimpanan.
  • Pengguna lab Linux dapat melihat kunci akun penyimpanan. Kredensial untuk memasang berbagi Azure Files disimpan di {file-share-name}.cred VM Linux, dan dapat dibaca oleh sudo. Karena pengguna lab diberikan akses sudo secara default di VM Azure Lab Services, mereka dapat membaca kunci akun penyimpanan. Jika titik akhir akun penyimpanan bersifat publik, pengguna lab bisa mendapatkan akses ke berbagi file di luar VM lab mereka. Pertimbangkan untuk memutar kunci akun penyimpanan setelah kelas berakhir, atau menggunakan berbagi file privat.

Pertimbangan untuk menggunakan titik akhir privat

  • Pendekatan ini mengharuskan jaringan virtual berbagi file terhubung ke lab. Untuk mengaktifkan jaringan tingkat lanjut untuk lab, lihat Koneksi ke jaringan virtual Anda di Azure Lab Services menggunakan injeksi vnet. Injeksi VNet harus dilakukan selama pembuatan rencana lab.
  • Akses dibatasi untuk lalu lintas yang berasal dari jaringan privat, dan tidak dapat diakses melalui internet umum. Hanya komputer virtual di jaringan virtual privat, komputer virtual dalam jaringan yang diserekan ke jaringan virtual privat, atau komputer yang tersambung ke VPN untuk jaringan privat, yang dapat mengakses berbagi file.
  • Pengguna lab Linux dapat melihat kunci akun penyimpanan. Kredensial untuk memasang berbagi Azure Files disimpan di {file-share-name}.cred VM Linux, dan dapat dibaca oleh sudo. Karena pengguna lab diberikan akses sudo secara default di VM Azure Lab Services, mereka dapat membaca kunci akun penyimpanan. Pertimbangkan untuk memutar kunci akun penyimpanan setelah kelas berakhir.

Koneksi VM lab ke berbagi file Azure

Ikuti langkah-langkah ini untuk membuat VM yang tersambung ke berbagi file Azure.

  1. Membuat akun Azure Storage. Pada halaman Metode konektivitas, pilih titik akhir publik atau titik akhir privat.

  2. Jika Anda telah memilih metode privat, buat titik akhir privat agar file yang dibagikan dapat diakses dari jaringan virtual.

  3. Buat berbagi file Azure. Berbagi file dapat dijangkau oleh nama host publik dari akun penyimpanan jika menggunakan titik akhir publik. Berbagi file dapat dicapai dengan alamat IP pribadi jika menggunakan titik akhir pribadi.

  4. Pasang berbagi file Azure di komputer virtual templat:

  5. Menerbitkan komputer virtual templat.

Penting

Pastikan Firewall Windows Defender tidak memblokir sambungan SMB keluar melalui port 445. Secara default, SMB diperbolehkan untuk Azure VM.

Menggunakan Azure Files dengan Linux

Jika Anda menggunakan instruksi default untuk memasang berbagi Azure Files, berbagi file tampaknya akan hilang di VM lab setelah templat diterbitkan. Modifikasi skrip berikut mengatasi masalah ini.

Untuk berbagi file dengan titik akhir publik:

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Untuk berbagi file dengan titik akhir pribadi:

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_IP=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$storage_account_name.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_IP/$FILESHARE_NAME /$MOUNT_DIRECTORY/$fileshare_name cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Jika templat VM yang memasang berbagi Azure Files ke /mnt direktori sudah diterbitkan, pengguna lab dapat:

  • Pindahkan instruksi untuk memasang /mnt ke bagian atas file /etc/fstab.
  • Ubah instruksi untuk memasang /mnt/{file-share-name} ke direktori lain, seperti /prm-mnt/{file-share-name}.

Pengguna lab harus berjalan mount -a untuk melepas direktori.

Untuk informasi umum lainnya, lihat Menggunakan Azure Files dengan Linux.

Azure NetApp Files dengan volume NFS

Azure NetApp Files adalah layanan penyimpanan file terukur kelas perusahaan, berperforma tinggi.

  • Mengatur kebijakan akses berdasarkan per volume
  • Kebijakan izin berbasis IP untuk setiap volume
  • Jika pengguna lab memerlukan volume mereka sendiri yang tidak dapat diakses oleh pengguna lab lain, kebijakan izin harus ditetapkan setelah lab diterbitkan
  • Azure Lab Services hanya mendukung komputer virtual lab berbasis Linux untuk terhubung ke Azure NetApp Files
  • Jaringan virtual untuk kumpulan kapasitas Azure NetApp Files harus terhubung ke lab. Untuk mengaktifkan jaringan tingkat lanjut untuk lab, lihat Koneksi ke jaringan virtual Anda di Azure Lab Services menggunakan injeksi vnet. Injeksi VNet harus dilakukan selama pembuatan rencana lab.

Untuk menggunakan berbagi Azure NetApp Files di Azure Lab Services:

  1. Buat kumpulan kapasitas Azure NetApp Files dan satu atau beberapa volume NFS dengan mengikuti langkah-langkah dalam Menyiapkan Azure NetApp Files dan volume NFS.

    Untuk informasi tentang tingkat layanan, lihat Tingkat layanan untuk Azure NetApp Files.

  2. Koneksi ke jaringan virtual Anda di Azure Lab Services

  3. Buat lab.

  4. Pada komputer virtual templat, instal komponen yang diperlukan untuk menggunakan berbagi file NFS.

    • Ubuntu:

      sudo apt update
      sudo apt install nfs-common
      
    • CentOS:

      sudo yum install nfs-utils
      
  5. Pada templat VM, simpan skrip mount_fileshare.sh berikut untuk memasang berbagi Azure NetApp Files.

    Tetapkan variabel capacity_pool_ipaddress alamat IP target pemasangan untuk kumpulan kapasitas. Dapatkan instruksi kait untuk volume untuk menemukan nilai yang sesuai. Skrip mengharapkan nama jalur volume Azure NetApp Files.

    Untuk memastikan bahwa pengguna dapat menjalankan skrip, jalankan chmod u+x mount_fileshare.sh.

    #!/bin/bash
    
    if [ $# -eq 0 ];  then
        echo "Must provide volume name."
        exit 1
    fi
    
    VOLUME_NAME=$1
    CAPACITY_POOL_IP_ADDR=0.0.0.0 # IP address of capacity pool
    
    # Do not use 'mnt' for mount directory.
    # Using ‘mnt’ might cause issues on lab VMs.
    MOUNT_DIRECTORY="prm-mnt" 
    
    sudo mkdir -p /$MOUNT_DIRECTORY
    sudo mkdir /$MOUNT_DIRECTORY/$FOLDER_NAME
    
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp $CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME
    sudo bash -c "echo ""$CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME nfs bg,rw,hard,noatime,nolock,rsize=65536,wsize=65536,vers=3,tcp,_netdev 0 0"" >> /etc/fstab"
    
  6. Jika semua pengguna lab berbagi akses ke volume Azure NetApp Files yang sama, Anda dapat menjalankan mount_fileshare.sh skrip di komputer templat sebelum menerbitkan. Jika pengguna lab masing-masing mendapatkan volume mereka sendiri, simpan skrip yang akan dijalankan nanti oleh pengguna lab.

  7. Menerbitkan komputer virtual templat.

  8. Mengonfigurasi kebijakan untuk berbagi file.

    Kebijakan ekspor dapat memungkinkan satu komputer virtual atau beberapa komputer virtual memiliki akses ke volume. Anda dapat memberikan akses baca-saja atau baca/tulis.

  9. Pengguna lab harus memulai VM mereka dan menjalankan skrip untuk memasang berbagi file. Mereka harus menjalankan skrip hanya sekali.

    Perintah terlihat seperti berikut: ./mount_fileshare.sh myvolumename.

Langkah berikutnya