これは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
Centos EBSブートイメージを使用しています。
これに関するさまざまな質問を読みましたが、新しいドライブをマウントするように言われています。しかし、ドライブはすでに/dev/xvdb
にマウントされていると思います。私は正しいですか?
私はこれを使用できますか?
mkswap -f /dev/xvdb
#add in /etc/fstab
/dev/xvdb swap swap defaults 0 0
swapon /dev/xvdb
うまくいきますか?
/ dev/xvdbは実際にマウントされています。重要なものを一時的なドライブに保持することは本当に悪い考えですが、保持したいものがそこに格納されているかどうかを確認する必要があります。
/ dev/xvdbをアンマウントする必要があります。
あなたができる間
mkswap /dev/xvdb
それはあなたがほぼ確実に必要としないエフェメラルドライブ全体のスワップスペースを作ります。また、スワップをパーティション化すると、tmpフォルダーやセッションの保存(ホストがWebサーバーの場合)などに、残りの一時ドライブを使用できます。エフェメラルドライブは非常に高速ですが、残念ながらあまり持続しません。
とにかく、パーティションを交換してください!
Abhishekが言及するようにsfdiskを使用するか、fdiskを使用して手動でswapパーティションを作成する方が良いでしょう:
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
これでスワップスペースを作成できます
mkswap /dev/xvdb1
そしてそれを有効にします
swapon /dev/xvdb1
警告の一言、そして私が「卵を吸うことをおばあちゃんに教える」なら、私は謝罪します。インスタンスをシャットダウンした場合は、スワップパーティションを再作成して有効にする必要があります。このため、新しく作成したスワップ領域をfstabに追加しないでください。
ただし、再起動は問題ありません。
script を作成しました。これは、一時的なデバイスでスワップを作成するのに役立つ場合があります。 lvmを使用してスワップボリュームを作成し、/ tmpとして役立つボリュームも作成します。 cloud-initを使用してトリガーできます。
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 ]
最初にepermalストレージをアンマウントし、以下のように再マウントします
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