Ajout de swap sous Solaris
Contents
1 Introduction
Le but de cette documentation est de décrire de manière rapide comment créer de la swap sous Solaris. Existe d'autres documentations comme celle du Management des disques sous Solaris qui permettent de décrire en profondeur le fonctionnement des disques sous Solaris, mais ce n'est pas le but ici.
Nous allons voir qu'il y a 3 méthodes pour ajouter de la swap :
- Sur de l'UFS
- Sur du ZFS
- Avec un fichier
2 Swap sur UFS
Si vous souhaitez ajouter de la swap sur un disque UFS, il va falloir créer une partition. Pour le moment, affichons ce que nous avons :
swap |
> swap -l swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 30,65 8 8401984 8401984 |
Ensuite nous allons lancer la commande format puis sélectionner le disque sur lequel nous voulons travailler :
On choisis ici le disque 0. Puis nous allons lui rentrer dans l'outil pour gérer les partitions :
Ensuite, nous allons afficher le contenu pour voir les partitions actuelles :
On peut voir au niveaux des cylindres que le dernier s'arrête à 7182 sur 53498. Nous continuerons donc après ce cylindre. Prenons un slice au hasard (le 5 par exemple) et créons une nouvelle partition de swap là dessus :
Ici j'ai créer une partition à partir du dernier cylindre utilisé (7182) + 1 (7183), une partition swap avec le flag correspondant (wu), d'une taille de 70Gb.
J'affiche ensuite la nouvelle table des partitions :
Et là je peux voir ma nouvelle partition de swap. Nous allons écrire ces nouvelles données sur le disque :
format |
partition> labelReady to label disk, continue? y |
Nous allons tout quitter et annoncer cette nouvelle partition comme étant une partition de swap :
format |
swap -a /dev/dsk/c1t0d0s5 |
Maintenant, lorsque j'affiche la liste des partitions actives, je peux voir la nouvelle :
swap |
> swap -l swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 30,65 8 8401984 8401984 /dev/dsk/c1t0d0s5 30,69 8 146801960 146801960 |
Il ne me reste plus qu'à mettre une ligne dans le vfstab pour la persistance :
3 Swap sur ZFS
Il suffit d'agrandir la taille du ZFS associé a la swap.
3.1 Ajouter une swap
Verifions le nombre de swap attribuées :
swap |
> swap -l swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 30,65 8 8401984 8401984 |
Maintenant on ajoute un ZFS :
swap |
zfs create -V 30G rpool/swap1 |
Ici nous venons de créer la swap a 30G. Puis nous déclarons cette nouvelle partition comme swap :
swap |
swap -a /dev/zvol/dsk/rpool/swap1 |
Maintenant, lorsque j'affiche la liste des partitions actives, je peux voir la nouvelle :
swap |
> swap -l swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 30,65 8 8401984 8401984 /dev/dsk/c1t0d0s5 30,69 8 146801960 146801960 |
Si vous avez ce genre de message :
/dev/zvol/dsk/rpool/swap is in use for live upgrade -. Please see ludelete(1M).
Il faudra utiliser la commande suivante pour l'activer :
swapadd |
/sbin/swapadd |
3.2 Agrandir une swap
Lorsque la machine tourne et que l'espace de swap est utilisé, on peut agrandir la taille de la swap pour que le système puisse s'en servir. Cela nécessitera une désactivation puis réactivation pour que le nouvel espace soit prise en compte. Pour cela nous allons agrandir le zfs :
zfs |
zfs set volsize=72G rpool/swap zfs set refreservation=72G rpool/swap |
Nous allons maintenant désactiver la swap :
zfs |
swap -d /dev/zvol/dsk/rpool/swap |
Il faut maintenant supprimer ou commenter l'entrée dans /etc/vfstab qui correspond à la swap, car elle sera automatiquement créer dans l'étape suivante :
/etc/vfstab |
#/dev/zvol/dsk/rpool/swap - - swap - no - |
puis la réactiver pour que la nouvelle taille soit prise en compte :
swap |
swap -a /dev/zvol/dsk/rpool/swap |
On peut vérifier la taille du swap :
swap |
> swap -l swapfile dev swaplo blocs libres /dev/zvol/dsk/rpool/swap 181,1 8 150994936 150994936 |
4 Fichier de swap
Pour un fichier de swap, c'est ce qu'il y a de plus rapide à mettre ne oeuvre mais également ce qu'il y a de plus sale. Trouvez un endroit sur votre disque ou vous avez de la place puis créez un fichier vide de la taille souhaitée :
mkfile |
mkfile 70g /swap1 |
Puis nous activons cette nouvelle swap :
mkfile |
swap -a /swap1 |
Maintenant, lorsque j'affiche la liste des partitions actives, je peux voir la nouvelle :
swap |
> swap -l swapfile dev swaplo blocks free /dev/dsk/c1t0d0s1 30,65 8 8401984 8401984 /dev/dsk/c1t0d0s5 30,69 8 146801960 146801960 |