Étiquette : fdisk

6 novembre 2015 /

Voici un petit mémo pour moi même, qui détaille la façon d’augmenter la taille d’une partition lvm:

On va commencer par créer une partition de type lvm sur l’espace vide d’un disque, /dev/sda (dans un contexte hyperviseur):

fdisk /dev/sda

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x3657f1c2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

On affiche la table de partition (vide sur un disque vierge)  avec la lettre « p« :

Command (m for help): p

Disk /dev/sda: 581.7 GB, 421474836480 bytes
16 heads, 183 sectors/track, 451610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3567f1c2

 Device Boot Start End Blocks Id System
/dev/sda1 * * * * * *
/dev/sda2 * * * * * *

On crée une nouvelle partition avec « n »

Command (m for help): n

Puis on choisit une partition type « primary » (« p« )

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p

On lui donne un numéro (chez moi, il y a déjà un sda1 et sda2 donc cela sera la sda3 « 3« ):

Partition number (1-4, default 1): 3
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039

On va maintenant changer le « type » de la partition, c’est a dire que l’on va indiquer que cette partition est une partition lvm (8e):

Command (m for help): t
Selected partition 3
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

8e est le code pour LVM.

On affiche la table de partition pour tout vérifier avant de réécrire la table :

Command (m for help): p

Disk /dev/sda: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3657f1c2

Device Boot Start End Blocks Id System
/dev/sda1 * * * * * *
/dev/sda2 * * * * * *
/dev/sda3 2048 41943039 20970496 8e Linux LVM

On a bien une partition de type « LVM ».

On peux enfin écrire la table:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks
.

Pour une prise en charge de la nouvelle table sans redémarrer :

partx -v -a /dev/sda

Maintenant qu’on en a terminé avec le bas niveau, occupons-nous de LVM.

On commence par sauvegarder la configuration de LVM pour la restaurer en cas de problème:

vgcfgbackup mvg

Cela va créer un fichier /etc/lvm/backup/mvg qu’il nous sera utile en cas de problème.

On poursuit en initialisant maintenant la partition Lvm que l’on souhaite ajouté:

pvcreate /dev/sda3

Writing physical volume data to disk "/dev/sda3"
Physical volume "/dev/sda3" successfully created

On peut maintenant étendre le volume groupe « mvg » sur ce nouveau disque/partition:

vgextend mvg /dev/sda3

Volume group "mvg" successfully extended

Nous allons maintenant étendre le volume groupe à la totalité de l’espace libre de « mvg »:

lvextend -l +100%FREE /dev/mvg/LogVol02

Extending logical volume LogVol02 to 136.72 GiB
Logical volume LogVol02 successfully resized

En cas de problème, nous pouvons restaurer la configuration de LVM à l’état précédent grâce à la sauvegarde faite precedemment avec cette commande:

vgcfgrestore -f /etc/lvm/backup/mvg

Si tout est bon, il ne nous reste plus qu’à étendre le file système du volume logique (EXT2/3/4):

resize2fs /dev/mvg/LogVol02

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mvg/VolGroup00-LogVol02 is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 9
Performing an on-line resize of /dev/mvg/VolGroup00-LogVol02 to 35840000 (4k) blocks.
The filesystem on /dev/mvg/VolGroup00-LogVol02 is now 35840000 blocks long.

Si la partition est en XFS, il faudra plutot passer par cette commande:

xfs_growfs /dev/mvg/LogVol02

meta-data=/dev/mvg/LogVol02 isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 9697280

On peux maintenant savourer son travail avec un petit df -h.

 

 

 

30 juillet 2015 /

On commence par lister les disques détectés:

fdisk -l

Pour partitionner votre disque en ligne de commande, on utilise la commande fdisk suivie du nom du disque sur lequel vous voulez installer Linux, par exemple:

fdisk /dev/sda.

tapez m, afin d’accéder à la liste de toutes les commandes possibles.

fdisk3

On choisi les options à appliquer en entrant des lettres, généralement des initiales de ce pour quoi c’est programmé.

Les principales commandes de fdisk sont donc :

a   bascule le drapeau d'amorce
b   éditer l'étiquette BSD du disque
c   basculer le drapeau de compatibilité DOS
d   supprimer la partition
l   lister les types de partitions connues
m   afficher ce menu
n   ajouter une nouvelle partition de type linux native (ext2fs) par défaut.
o   créer une nouvelle table vide de partitions DOS
p   afficher la table de partitions
q   quitter sans enregistrer les changements
s   créer une nouvelle étiquette vide pour disque de type Sun
t   modifier l'identifiant de système de fichiers d'une partition (83 linux native, 82 linux swap).
u   modifier les unités d'affichage/saisie
v   vérifier la table de partitions
w   écrire la table sur le disque et quitter
x   fonctions avancées (pour experts seulement)

Rappel: rappelez-vous que le nombre de partitions dites primaires est limité à 4. Donc, si vous souhaitez définir plus de 4 partitions sur le même disque, l’une de ces 4 partitions primaires doit être définie comme étendue.

Pour regarder les partitions que nous avons sur notre disque, on tape  « p » dans la console :

fdisk2

On vas supprimer maintenant la partition  /dev/sdb1 comme cela :

fdisk4

Nous allons créer une partition primaire sur la totalité de l’espace:

fdisk5

Fdisk nous demande le type de partition ( » p  » pour primaire et  » e  » pour étendue):

fdisk6

Taper Entrer pour validez la valeur par defaut.

Pour sauvegarder et quitter l’utilitaire et créer la table des partitions sur le disque il suffit d’utiliser la lettre w :

fdisk7

Pour avoir une prise en compte des partitions créés sans avoir à redémarrer:

partx -v -a /dev/sdb

Si cela ne fonctionne pas, redémarrez votre machine….

Il ne vous reste plus qu’à créer le système de fichiers pour les partitions créés grâce à une commande de type mke2fs (ext2), mkreiserfs (ReiserFS), mkfs.ext4 (ext4).

Pour formater sa partition en ext3:

mkfs.ext3 -b 4096 /dev/sdb1

Pour formater sa partition en ext4:

mkfs.ext4 -b 4096 /dev/sdb1

Pour une partition swap:

mkswap /dev/sdb5

Il ne vous restera plus qu’à créer un point de montage, du genre mkdir /media/starmate, puis monter la partition dans ce répertoire, par exemple mount /dev/sdb1 /media/starmate.

1 juin 2015 /

Pour avoir une prise en compte des partitions créés sans avoir à redémarrer:

partx -v -a /dev/sdb

ou

partprobe

ou

partprobe /dev/sdb

ou

hdparm -z /dev/sdb