Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah booting instans Amazon EC2 Linux dari volume yang salah
Dalam beberapa situasi, volume selain volume yang melekat pada /dev/xvda atau /dev/sda menjadi volume root dari instance Linux. Hal ini dapat terjadi ketika Anda telah melampirkan volume root dari instans lain, atau volume yang dibuat dari snapshot volume root, ke instans dengan volume root yang sudah ada.
Hal ini disebabkan oleh cara kerja ramdisk awal di Linux. Ramdisk awal di Linux memilih volume yang ditentukan sebagai / dalam /etc/fstab, dan pada beberapa distribusi, ini ditentukan oleh label yang terlampir ke partisi volume. Secara khusus, Anda menemukan bahwa /etc/fstab akan terlihat seperti berikut ini:
LABEL=/ / ext4 defaults,noatime 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0Jika Anda memeriksa label kedua volume tersebut, Anda akan melihat bahwa keduanya berisi label /:
[ec2-user ~]$sudo e2label /dev/xvda1/[ec2-user ~]$sudo e2label /dev/xvdf1/
Dalam contoh ini, Anda bisa /dev/xvdf1 menjadi volume root yang di-boot instance Anda setelah ramdisk awal berjalan, bukan /dev/xvda1 volume yang ingin Anda boot. Untuk menyelesaikan hal ini, gunakan perintah e2label yang sama untuk mengubah label volume terlampir yang tidak ingin Anda gunakan untuk boot.
Dalam beberapa kasus, penentuan UUID di /etc/fstab dapat mengatasi hal ini. Namun, jika kedua volume tersebut berasal dari snapshot yang sama, atau yang sekunder dibuat dari snapshot volume primer, keduanya memiliki UUID yang sama.
[ec2-user ~]$sudo blkid/dev/xvda1: LABEL="/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334 /dev/xvdf1: LABEL="old/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334
Untuk mengubah label volume ext4 terlampir
-
Gunakan perintah e2label untuk mengubah label volume agar menjadi sesuatu selain
/.[ec2-user ~]$sudo e2label /dev/xvdf1old/ -
Verifikasi bahwa volume tersebut memiliki label baru.
[ec2-user ~]$sudo e2label /dev/xvdf1old/
Untuk mengubah label volume xfs terlampir
-
Gunakan perintah xfs_admin untuk mengubah label volume agar menjadi sesuatu selain
/.[ec2-user ~]$sudo xfs_admin -Lwriting all SBs new label = "old/"old//dev/xvdf1
Setelah mengubah label volume sebagaimana ditunjukkan, Anda dapat melakukan boot ulang instans dan memiliki volume yang tepat yang dipilih oleh ramdisk awal saat instans melakukan boot.
penting
Jika Anda ingin melepaskan lampiran volume dengan label baru dan mengembalikannya ke instans lain untuk digunakan sebagai volume root, Anda harus melakukan prosedur di atas lagi dan mengubah label volume kembali ke nilai aslinya. Jika tidak, instans lain tidak bisa melakukan boot karena ramdisk tidak dapat menemukan volume dengan label /.