Bagaimana saya bisa membuat partisi swap di Amazon EC2 dengan penyimpanan sementara?


8

Ini adalah output dari df -k:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1            10317860   7059008   2734732  73% /
none                    847584         0    847584   0% /dev/shm
/dev/xvdb            153899044    192068 145889352   1% /mnt/ephemeral

Saya menggunakan boot image Centos EBS.

Saya telah membaca berbagai pertanyaan tentang ini tetapi mereka mengatakan untuk memasang drive baru. Tapi saya pikir drive sudah terpasang di /dev/xvdb. Apakah saya benar?

Bisakah saya menggunakan ini:

mkswap -f /dev/xvdb
#add in /etc/fstab
/dev/xvdb       swap    swap    defaults        0       0
swapon /dev/xvdb

Apakah ini akan berhasil?

Jawaban:


8

/ dev / xvdb memang sudah di-mount, Anda perlu memeriksa untuk melihat apakah ada sesuatu yang disimpan di sana yang ingin Anda simpan, meskipun menyimpan hal-hal penting pada drive singkat adalah ide yang BENAR-BENAR buruk.

Anda harus meng-unmount / dev / xvdb sebelum melakukan apa pun dengannya.

Selagi bisa

mkswap /dev/xvdb 

itu akan membuat ruang swap dari seluruh drive singkat, yang hampir pasti tidak Anda butuhkan. Juga, jika Anda mempartisi swap Anda, Anda dapat menggunakan sisa drive singkat untuk hal-hal seperti folder tmp, atau menyimpan sesi (jika host Anda adalah server web). Drive Ephemeral sangat cepat, tetapi sayangnya tidak terlalu gigih.

Pokoknya, kembali ke swap partisi!

Lebih baik menggunakan sfdisk seperti yang disebutkan Abhishek, atau secara manual membuat partisi swap menggunakan fdisk:

fdisk /dev/xvdb
Press N to create a new partition
P for primary
1 for the first partition
Press Enter to accept the first location
Enter +xG where x is the size of the swapspace you want. I typically use twice the amount of RAM, but this is not a hard and fast rule
Enter T to change the type
Enter 82 for Linux Swap
Enter W to write the changes
Enter q to quit

Anda sekarang dapat membuat ruang swap dengan

mkswap /dev/xvdb1

Dan kemudian aktifkan dengan

swapon /dev/xvdb1

Satu kata peringatan, dan saya minta maaf jika saya "Mengajari nenek untuk mengisap telur" Tapi seperti namanya, drive Ephemeral adalah ... yah, Ephemeral. Jika Anda pernah mematikan instance Anda, Anda harus membuat ulang partisi swap Anda dan mengaktifkannya. Karena alasan ini, jangan tambahkan ruang swap yang baru Anda buat ke fstab Anda.

Namun reboot harus baik-baik saja.


1
Saya telah memasukkan kode untuk menciptakan swap rc.local. apakah itu oke sehingga swap otomatis dibuat setiap kali dimulai
Pandora

1
Saya tidak akan. Jika host reboot, ruang swap masih akan ada, jadi tidak perlu membuatnya kembali. Jika host berakhir (dimatikan) dan kemudian dinyalakan kembali, maka drive singkat yang Anda miliki sebelumnya tidak lagi tersedia, jadi bagaimanapun, Anda harus membuat ruang swap dari awal.
GeoSword

Keuntungan membuat ulang setiap saat adalah Anda memiliki lingkungan yang stabil yang tidak memerlukan intervensi manual untuk mem-boot ulang. Hanya pemikiran saja; tidak yakin apakah perlu waktu lama untuk membuat ulang swap atau tidak (dan jika ya, mungkin partisi yang lebih kecil dapat digunakan).
Brian C

3

Saya telah membuat skrip yang mungkin berguna untuk membuat swap di perangkat sesaat. Menggunakan lvm untuk membuat volume swap dan juga membuat volume yang mungkin berguna sebagai / tmp. Anda dapat menggunakan cloud-init untuk memicunya.

bootcmd:
 - [ cloud-init-per, once, mk-eph, /usr/local/sbin/mk-eph.sh]

# Filesystem setup
fs_setup:
 - label: 'tmp'
   filesystem: 'xfs'
   device: '/dev/ephemeral/tmp'
   partition: 'auto'

mounts:
 - [ /dev/ephemeral/tmp, /tmp, auto, "defaults,nobootwait" ]
 - [ ephemeral0, null ]

runcmd:
 - [ chmod, 1777, /tmp ]

2

Pertama, lepaskan penyimpanan epermal Anda dan pasang kembali seperti di bawah ini

  umount /dev/xvdb # in case it is already mounted
  sfdisk /dev/xvdb << EOF
  ,1024,82
  ,
  ;
  ;
  EOF
  mkswap /dev/xvdb1 && swapon /dev/xvdb1
  mkfs.xfs -f /dev/xvdb2 && mount /dev/xvdb2 /mnt

bagaimana cara memasukkan baris seperti, 1024. ,;;. maksud saya apakah saya harus memasukkan baris demi baris, salin semua, lalu tempel. Juga berapa banyak Anda membuat drive swap. dapatkah saya membuatnya 10GB
Pandora

2
Apa yang dilakukan kode ini harus didokumentasikan. Itu membuat partisi swap dan XFS dengan ukuran tertentu, dan tidak jelas bagaimana perintah ini akan bertahan melalui reboot.
Mark Stosberg
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.