GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu vytvořit swapovací oddíl na Amazon EC2 s pomíjivým úložištěm?

/dev/xvdb je skutečně připojen, musíte zkontrolovat, zda tam není uloženo něco, co si chcete ponechat, ačkoli uchovávat důležité věci na pomíjivém disku je OPRAVDU špatný nápad.

Než s ním něco uděláte, budete muset odpojit /dev/xvdb.

Zatímco můžete

mkswap /dev/xvdb 

udělá z celého efemérního disku odkládací prostor, který téměř jistě nepotřebujete. Také, pokud rozdělíte svůj swap, můžete zbytek pomíjivé jednotky použít pro věci, jako je složka tmp nebo ukládání relací (pokud je vaším hostitelem webový server). Pomíjivé pohony jsou velmi rychlé, ale bohužel ne příliš vytrvalé.

Každopádně zpět k výměně oddílů!

Lepší je buď sfdisk, jak zmiňuje Abhishek, nebo ručně vytvořit odkládací oddíl pomocí 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

Nyní můžete vytvořit svůj odkládací prostor pomocí

mkswap /dev/xvdb1

A poté jej povolte pomocí

swapon /dev/xvdb1

Ale jedno slovo varování a omlouvám se If Im "Učím babičku sát vajíčka" Ale jak název napovídá, Ephemeral drive je... no, Ephemeral. Pokud někdy vypnete svou instanci, budete muset znovu vytvořit svůj odkládací oddíl a povolit jej. Z tohoto důvodu nepřidávejte nově vytvořený odkládací prostor do vašeho fstab.

Restartování by však mělo být v pořádku.


Vytvořil jsem skript, který může být užitečný pro vytváření swapu na pomíjivých zařízeních. Používá lvm k vytvoření odkládacího svazku a také vytvoří svazek, který může být užitečný jako /tmp. Ke spuštění můžete použít 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 ]

Nejprve odpojte epermal úložiště a znovu jej připojte, jak je uvedeno níže

  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

Linux
  1. Jak vytvořit databázi v MySQL pomocí MySQL Workbench

  2. Jak vytvořit swap v Linuxu

  3. Jak vytvořit a povolit Swap Partition na Centos / RHEL 8

  1. Jak vytvořit odkládací soubor v Linuxu

  2. CentOS / RHEL :Jak vytvořit nový odkládací oddíl založený na LVM

  3. Jak mohu vytvořit soubor s určitou velikostí z příkazového řádku?

  1. Jak povolit linuxový odkládací oddíl?

  2. Jak změním swapovací oddíl v Linuxu?

  3. Jak zvětšit velikost swapu?