我创建了一个 AWS m3.large 实例。它配备了一个 32GB SSD。在创建过程中,我为系统添加了第二个驱动器。我为系统选择了第二个驱动器:xvda1 和原始 30GB 驱动器,我将其加载为 xvdb。
当实例启动时,我以 ubuntu 身份登录并执行以下操作:
fdisk /dev/xvdb
#created two partitions
mkfs -t ext4 /dev/xvdb1
tune2fs -m 0 /dev/xvdb1
mkfs -t ext4 /dev/xvdb2
tune2fs -m 0 /dev/xvdb2
mkdir /swap
mkdir /home/railsapp/tmp
mount /dev/xvdb1 /swap
mount /dev/xvdb2 /home/railsapp/tmp
#create a swap file:
sudo fallocate -l 19000000000 /swap/swapfile
sudo chmod 600 /swap/swapfile
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile
然后我验证了交换已打开:
sudo swapon -s
然后我删除了 /dev/xvdb 的条目并添加了以下内容:
/dev/xvdb1 /swap ext4 defaults 0 2
/dev/xvdb2 /home/installio/tmp ext4 defaults 0 2
/swap/swapfile none swap sw 0 0
然后我停止了实例并重新启动它。我无法重新连接。我从系统日志中收到的消息是:
The disk drive for /swap is not ready yet or not present.
我究竟做错了什么?
答案1
看起来你忘记通过以下方式实际创建交换文件系统:
$ mkswap /swap/swapfile