vpsでサーバのswap領域を作成する。

概要

vpsはSwap領域が作られていないケースがあります。Swap領域を確保して、メモリの枯渇に備えます。

環境

さっくりとした手順

  1. 現在のメモリとディスク容量を確認します。
  2. Swap領域を確保します。
  3. 確保したSwap領域を有効化します。
  4. Swap領域が増えたことを確認します。
  5. fstabを修正します。
  6. fstab修正後にシステムを再起動し、Swap領域有効化を確認します。

作業の前に

ディスク起動時のオプションなど、特に重要なシステム領域の設定ファイルを修正する作業です。 失敗時に復旧できるようシステム全体のバックアップを取ることを強く推奨します。

現在のメモリ情報を確認

free -h

-hオプションは(human readable)の略だそうです

               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       450Mi       2.9Gi       2.5Mi       688Mi       3.4Gi
Swap:             0B          0B          0B

Swapが全く作成されていません。

現在のディスク容量の確認

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        78G  5.0G   73G   7% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           784M  980K  783M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda15      105M  6.1M   99M   6% /boot/efi
tmpfs           392M   12K  392M   1% /run/user/1001

容量は問題ありません。実メモリと同じ4GBの領域を作ります。

Swap領域の確保

sudo fallocate -l 4G /swap
ls -ldh /swap

指定ディレクトリに4GBのファイルがあることを確認します。

Swapの有効化

sudo chmod 600 /swap
ls -ldh /swap

rootのみが読み書き可能なことを確認します\

/swapの設定

sudo mkswap /swap
スワップ空間バージョン 1 を設定します。サイズ = 4 GiB (4294963200 バイト)
ラベルはありません, UUID=08cf06da-757e-4ab4-b049-e7da8ee73341

★/swapの有効化

sudo swapon /swap

Swap有効化確認

free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       446Mi       2.9Gi       2.5Mi       689Mi       3.4Gi
Swap:          4.0Gi          0B       4.0Gi

4GBのSwap領域が確保されました。

fstab設定

sudo cp -pi /etc/fstab /path/to/backup/directory/fstab.$(date +%Y%m%d)
diff -u /path/to/backup/directory/fstab.$(date +%Y%m%d) /etc/fstab 

差分が無いことでバックアップが取れていることを確認します。

cat <<- __EOF__ | sudo tee -a /etc/fstab
/swap none swap sw 0 0
__EOF__
diff -u /path/to/backup/directory/fstab.$(date +%Y%m%d) /etc/fstab
+/swap none swap sw 0 0

再起動後の修正確認

sudo reboot

以下が確認できれば作業完了です。

  1. サーバにログインできること
  2. Webサービスなど既存システムが設定前と同様に稼働すること
  3. free -h を実行し、Swap領域が確保されていること

Revision #1
Created 2 September 2024 10:35:19 by manualmaton
Updated 10 September 2024 11:16:58 by manualmaton