# [retrécir reiserfs] -35Go OK, mais pour la partition ???

## loopx

Bonjour, 

J'essaie actuellement de diminuer un de mes système de fichier ET sa partition pour pouvoir recréer une autre partition (à la fin l'autre). J'ai commencé à écrire dans mon wiki : http://pix-mania.dyndns.org/mediawiki/index.php/R%C3%A9tr%C3%A9cir_un_syst%C3%A8me_de_fichier

Mais voilà, je bloque sur le moment ou il faut diminuer la taille de la partition  :Cool:     est-ce encore plus risqué que la diminution du système de fichier ???

Comment dois-je procéder ? Au besoin, j'ai tout les tit numéro (taille partition etc) affiché par les commandes utilisées (voir wiki). Une idée ?

----------

## loopx

Heeeeeeeeeelp, j'ai peuuuuuuuuuuuuuur  :Smile: 

```
loop ~ # fdisk -l

Disque /dev/sda: 250.0 Go, 250059350016 octets

255 heads, 63 sectors/track, 30401 cylinders

Units = cylindres of 16065 * 512 = 8225280 bytes

Disk identifier: 0x100f59dc

Périphérique Amorce    Début         Fin      Blocs    Id  Système

/dev/sda1   *           1        2432    19535008+  83  Linux

/dev/sda2            2433        2494      498015    5  Extended

/dev/sda3            6143       30401   194860417+  83  Linux

/dev/sda4            2495        6142    29302560    7  HPFS/NTFS

/dev/sda5            2433        2494      497983+  82  Linux swap / Solaris

Les entrées de la table de partitions ne sont pas dans l'ordre du disque

Disque /dev/sdb: 750.1 Go, 750156374016 octets

255 heads, 63 sectors/track, 91201 cylinders

Units = cylindres of 16065 * 512 = 8225280 bytes

Disk identifier: 0xc7e0f596
```

Donc, c'est sda3 qui a été rétréci ... J'ai utilise "-s -35G" ... Maintenant, j'ai entendu dire qu'il faut ... supprimer la partition (device) et recréé ... une plus petite (-35Go quoi) et la faire commencer exactement au meme endroit que la précédente (car le début d'une partition n'est pas modifiable).

Alors, ben ... un peu d'aide serait la bienvenue ... 

 :Rolling Eyes: 

EDIT: arf arf arf, c'est pire que prévu ... Je viens de voir que ... j'avais ... déjà une partition 30Go ... (oui, c'est pour win la partition) en "sda4". Si je supprime la partition "sda3" et que je la recrée, mais en plus petite, ben l'espace libre est inutilisable car sda4 est déjà existant et donc, plus de partition primaire possible je présume. Donc, ce qui serait intéressant, c'est de supprimer "sda4" (qui est créée mais inutilisée depuis le début) ainsi que "sda3" et de recréée une "sda3" plus petite qu'avant et de refaire une "sda4" qui consomerait tout le reste donc sda4=sda4+35G ; sda3=sda3-35G.

Je coince, car j'ai peur de faire une fausse manoeuvre au niveau de la recréation. Est-ce possible déjà ce que je veux faire ? (tuer sda3 et 4 pour les refaires ? Est-ce que sda4 pourrait récupérer l'espace de sda3? En toute logique, ca à l'air possible vu que 4 est après 3 ...). ET pour finir, qu'elle sont les calculs a effectuer pour recréer les partitions à la taille exacte de la redimention du reiserfs ?

Waw, chaud tout ca  :Smile: 

EDIT2: 

 *Quote:*   

> En informatique, il ne faut pas confondre le gibioctet Gio (en anglais GiB, pour gibibyte) et le gigaoctet Go (en anglais GB, pour gigabyte). Le premier représente 1024³ octets soit 1 073 741 824 et le second représente un milliard d'octets. Voir préfixe binaire.

 

 :Confused: 

----------

## loopx

 *Quote:*   

> Il faut d'abord redimensionner le système de fichier, je le diminue de 20 Gigas:
> 
> resize_reiserfs -s -20G /dev/sda
> 
> Ensuite on efface la partition:
> ...

 

Je crois que j'ai compris :

* diminuer la taille du système de fichier (-35Go)

* diminuer la taille de la partition (-34Go pour être sur de pas perdre des données)

** il faut donc supprimer la (les partition dans mon cas) et les recréées

* ensuite, je pense faire un nouveau redimentionnement de reiserfs pour qu'il utilise la taille totale de la partition (pour pas perdre d'espace disque)

* installer un nouveau système de fichier sur la nouvelle partition

 :Smile: 

Pourriez-vous me confirmer mes dires ?

----------

## salamandrix

Je vais dire une grosse bêtise mais un live cd muni de gparted ?

```
l faut diminuer la taille de la partition 8-) est-ce encore plus risqué que la diminution du système de fichier ??? 

```

J'avoue que là je n'ai pas très bière compris...  :Embarassed: 

----------

## titoucha

+1 pour ou g/qparted

+1 pour pas comprendre, un système de fichier n'est pas lié à sa partition ?

----------

## nico_calais

+1 aussi pour gparted.

J'ai diminué une partoche ext3 ce week-end avec.

----------

## xaviermiller

+1 pour parted, je n'utilise plus que ça, même pour du FAT et NTFS !

----------

## Temet

-1 pour qtparted !!! Ce truc est à l'abandon depuis des années!!!

+1 pour gparted.

Sinon y a ça qui a l'air pas mal : http://kde-apps.org/content/show.php/KDE+Partition+Manager?content=89595 , actuel numéro 1 sur kde-apps  :Wink: 

----------

## Oupsman

message supprimé

----------

## nico_calais

 *Oupsman wrote:*   

> Moi je dis LVM et rock'n'roll : on a plus à ce soucier d'une foutue merde de table de partition et on rentre de plein pied dans le 21ème siècle.

 

Faut experimenter avant. La reduction d'un volume logique m'a shooté mon /var un fois. Je venais juste de commencer avec donc très peu d'experience, m'enfin bref, faut savoir qu'on peut pas faire fête du slip avec.

----------

## Oupsman

message supprimé

----------

## Pixys

 *Oupsman wrote:*   

>  *nico_calais wrote:*    *Oupsman wrote:*   Moi je dis LVM et rock'n'roll : on a plus à ce soucier d'une foutue merde de table de partition et on rentre de plein pied dans le 21ème siècle. 
> 
> Faut experimenter avant. La reduction d'un volume logique m'a shooté mon /var un fois. Je venais juste de commencer avec donc très peu d'experience, m'enfin bref, faut savoir qu'on peut pas faire fête du slip avec. 
> 
> Etant donné qu'il faut que le FS soit démonté pour être réduit ... Et que la réduction n'est pas sans risques quoi que tu fasses ... M'enfin je trouve ça bien plus simple avec LVM qu'avec des partitions. Sauf à utiliser des click'o'dromes.

 

Ca dépend aussi du FS, certains encaissent mieux que d'autres...

de toutes les façons, il est écrit que réduire une partition LVM est possible mais risqué...

----------

## Oupsman

message supprimé

----------

## scherz0

 *Pixys wrote:*   

> Ca dépend aussi du FS, certains encaissent mieux que d'autres...
> 
> de toutes les façons, il est écrit que réduire une partition LVM est possible mais risqué...

 

En quoi réduire une partition LVM est-il risqué ?

----------

## Pixys

C'est risqué (perte, corruption...etc.) pour les données si il y a sur la partition...

----------

## nico_calais

En y reflechissant, faudrait pas "defragmenter" la partition ou le volume logique avant de reduire à coup de tar et de detar ?

gparted a fait bossé mon disque comme un dingue pendant plus d'une heure lors de la reduction de la partition. J'irai pas jusqu'à dire qu'il a defragmenté la partition mais au moins reorganisé de telle manière à ce qu'il n'y ait plus rien sur la partie de la partition qui allait disparaitre.

----------

## -KuRGaN-

+1 oupsman

Je suis fan de lvm depuis au moins 3 ans déjà, tant pro que perso et franchement, ça déchiresamamantellementcestbien :   :Laughing: 

----------

## scherz0

 *Pixys wrote:*   

> C'est risqué (perte, corruption...etc.) pour les données si il y a sur la partition...

 

As-tu des exemples concrets de pertes/corruptions ?  Dans quel contexte, quelles manipulations effectuées, etc ?  Si tu peux faire partager ton expérience négative avec LVM, je crois que ça peut en intéresser quelques uns.

Depuis longtemps je l'utilise systématiquement sur mes systèmes, y compris en prod.  Et je n'ai jamais observé le moindre problème lors d'une réduction de LV.  Globalement, LVM me semble infaillible.  Le seul problème que j'ai constaté était avec lors de migrations de LV avec LVM1 (c'est vieux !).  Et en aucun cas ça ne provoquait de perte de données, mais juste un blocage et la nécessité d'annuler la migration.

----------

## xaviermiller

Perso, le changement de taille de partition est risqué en soi, que ce soit avec ou sans LVM. LVM ajoute une couche, donc une "chance" de plantage en plus.

Il suffit que l'outil de redimensionnement échoue en plein milieu d'une opération de redimensionnement, et on se retrouve avec une partition dans un état intermédiaire, des blocs qui n'ont pas tous la taille requise par la dimension, ou des fichiers mal déplacés.

C'est rare, mais quand ça arrive, c'est super rigolo de voir la tête de l'humain voyant les dégâts  :Smile: 

----------

## Oupsman

message supprimé

----------

## xaviermiller

Ah ok !

En tous cas LVM2 me tente  :Wink: 

----------

## Pixys

 *scherz0 wrote:*   

> As-tu des exemples concrets de pertes/corruptions ?  Dans quel contexte, quelles manipulations effectuées, etc ?  Si tu peux faire partager ton expérience négative avec LVM, je crois que ça peut en intéresser quelques uns.
> 
> Depuis longtemps je l'utilise systématiquement sur mes systèmes, y compris en prod.  Et je n'ai jamais observé le moindre problème lors d'une réduction de LV.  Globalement, LVM me semble infaillible.  Le seul problème que j'ai constaté était avec lors de migrations de LV avec LVM1 (c'est vieux !).  Et en aucun cas ça ne provoquait de perte de données, mais juste un blocage et la nécessité d'annuler la migration.

 

Il m'est arrivé d'avoir des fichiers OOo et videos illisibles,  après une réduction de lv sur reiserfs. A la décharge de LVM, la partition devait être pleine à au moins 80% (si mes souvenirs sont bons). 

Je pense que ça doit aussi dépendre de la fragmentation des fichiers (pourtant, en ce qui me concerne, reiserfs n'est pas réputé pour framenter beaucoup).

Je n'ai pas réessayé de réduction depuis car je suis passé sous reiser4 et j'ai pas vraiment envie de tenter le diable   :Very Happy: 

----------

## loopx

Bonnnnnnnnnnnnnnnn soir  :Smile: 

Alors, pour ceux qui n'ont pas compris mon problème, je vais re-expliquer :

* j'ai une grosse partition

* j'aimerais en faire 2 plus petite (une pour meme chose qu'avant, une autre pour windows xp ...)

* pour ce faire, j'ai tout fait à la main, sans gqpart machin

* étant un filesystem reiserfs, j'ai utilisé resize_reiserfs

* j'ai maintenant un système de fichier plus petit MAIS sur une partition qui fait toujours la meme taille

* il faut donc diminuer la partition ... 

* cela se fait par la suppression de la partition, et la recréation de celle-ci mais de plus petite taille

Donc en gros, on c'est un peu comme si ... on avait un tapi de 2m carré (1mètre sur 2). Le tapi est la partition. La partition contient le système de fichier (bah, c'est un journal déplié qui prend l'entièreté des 2mètres carré de tapi. Je veux couper ca en deux pour faire 2 petit tapi qui contiendront 2 petit journaux. Donc, en premier, on replie (diminue) le journal de 2mètre carré  :Very Happy:  pour qu'il ne prenne que 1mètre carré. Après (et c'est ca qui me reste à faire) il faut retirer le tapis (suppression de la partition), le couper en deux et le remettre (création de la partition, mais plus petite). Il reste maintenant un morceau de tapi utilisable  :Smile: .

Donc la, il faut que je diminue la taille de la partition (de la device, "sda3") et que je la recrée. Mais, j'aurais voulu avoir de l'aide concernant le calcul ... Car déjà, 1Go, c'est combien de Mo? 1000 ou 1024? Comment le programme voit ca ??? Car je suis sur qu'il sera impossible de refaire exactement la partition à la taille de système de fichier. Si je la fait trop petite, je coupe dans le système de fichier, trop grande et je perd de l'espace. Je pense qu'après mes recherches, il suffit de pas trop couper dans la partition (dans le tapi) pour être sur de laisser de la place "vide" à la fin du filesystem, et donc, de ne pas couper dedans. De ce que j'ai lu du man de resize_reiserfs, une simple exécution "sans paramètre" particulier va permettre de maximiser la taille possible pour le système de fichier => récupérer l'espace disque "en trop" que j'ai donné à la partition pour pas corrompre le filesystem. 

Vous me suivez ?

Oui ?

Ok, donc, est-ce que je suis fou ou pas  :Very Happy:  ?

Alors, oui, je suis très au courant des partitions, j'ai plein de truc dessus et non, j'ai pas tout sauvé ... c'est mon problème  :Wink: . Donc, est-ce que la solution que j'envisage serait possible ?

Au niveau de "cfdisk" (car je connais que lui pour faire les partitions), j'ai :

* sda3 (partition à rétrécir)

* sda4 (partition à tuer, actuellement occupée par des betises)

Est-il possible (dans la théorie, je sais que la pratique peut foirer pour X raisons) de tuer sda3 ET sda4, puis de recrééer les partition "sda3" et "sda4" de taille différente ? Je suppose qu'il recréera la première partition (donc sda3) juste après "sda2" et donc, exactement au meme endroit que l'ancienne partition "sda3". Il faut que ce soit exactement à cet endroit, c'est crutial pour récupérer l'accès au système de fichier, mais je ne sais pas si cfdisk utilisera le meme point de "départ" pour "sda3"... je suppose juste qu'il le fera, car ca semble logique pour ne pas perdre d'espace disque entre 2 partitions. Concernant "sda4", même pas la peine d'en parler, en principe, elle commencera bien après la fin du système de fichier (grace à une sda3 un rien plus grande que le système de fichier qu'elle contiendra) et donc, elle ne pourra pas poser le moindre problème.

Alors, potable ou non mon raisonement ?

Sinon, pour le future, j'aimerais bien essayer LVM aussi, c'est bien moins risqué en effet, car tu as des commandes précise pour manipuler les volume logique et meme physique ; tu n'a pas à jouer avec la suppression/recréation des partitions (qui pourrait te couter un système de fichier ...).

Ah, dernière précision, ce n'est pas "/" la partition que je redimentionne, je fait donc ca hors livecd, sur la Gentoo installée sur le pc.

 *Oupsman wrote:*   

>  *XavierMiller wrote:*   Perso, le changement de taille de partition est risqué en soi, que ce soit avec ou sans LVM. LVM ajoute une couche, donc une "chance" de plantage en plus.
> 
> Il suffit que l'outil de redimensionnement échoue en plein milieu d'une opération de redimensionnement, et on se retrouve avec une partition dans un état intermédiaire, des blocs qui n'ont pas tous la taille requise par la dimension, ou des fichiers mal déplacés.
> 
> C'est rare, mais quand ça arrive, c'est super rigolo de voir la tête de l'humain voyant les dégâts  
> ...

 

Je +soi car avec LVM, tu ne "perd" pas les données de ton système de fichier, tu ne fait que les mettres à jour  :Wink: .

----------

## titoucha

Perso je vois la commande parted ou son pendant graphique gparted pour faire ça proprement, elle va te réduire le système de fichier et la partition en même temps.

----------

## Oupsman

ouais m'enfin le parted, quand il fonctionnera correctement, on en reparlera ... J'ai eu de très mauvaises expériences sur des serveurs en production avec cet outil, maintenant je suis LVM à donf sous Linux, et je me demande même si le prochain serveur de production qu'on installe dans ma boite ne sera pas en full lvm (y compris pour le système)

----------

## titoucha

Pour l'instant je n'ai pas eu de problème avec parted, peut être un coup de bol   :Wink: 

----------

## xaviermiller

LVM n'est pas un peu inspiré des "slices" BSD ?

----------

## Pixys

 *loopx wrote:*   

> Est-il possible (dans la théorie, je sais que la pratique peut foirer pour X raisons) de tuer sda3 ET sda4, puis de recrééer les partition "sda3" et "sda4" de taille différente ? Je suppose qu'il recréera la première partition (donc sda3) juste après "sda2" et donc, exactement au meme endroit que l'ancienne partition "sda3". Il faut que ce soit exactement à cet endroit, c'est crutial pour récupérer l'accès au système de fichier, mais je ne sais pas si cfdisk utilisera le meme point de "départ" pour "sda3"... je suppose juste qu'il le fera, car ca semble logique pour ne pas perdre d'espace disque entre 2 partitions. Concernant "sda4", même pas la peine d'en parler, en principe, elle commencera bien après la fin du système de fichier (grace à une sda3 un rien plus grande que le système de fichier qu'elle contiendra) et donc, elle ne pourra pas poser le moindre problème.
> 
> 

 

marrante l'analogie avec le tapis   :Very Happy: 

Pourquoi au lieu de parler de taille en Mo, Go (ou autre) qui est assez subjectif puisque les différents logiciels les interprête différemment (1 Go = 1024 Mo certains logiciels prennent en compte directement, d'autres non) tu n'utilises pas les cylindes ? c'est beaucoup plus précis, tu es sur de commencer une partition au cul de la précédente et de l'arrêté juste à la tête de la précédente...

PS: je pensais jusqu'à aujourd'hui que windows ne pouvais pas voir les partitions LVM mais je suis tombé sur Virtual Volumes

EDIT:typoLast edited by Pixys on Thu Feb 05, 2009 10:58 pm; edited 1 time in total

----------

## loopx

 *Pixys wrote:*   

> Pourquoi au lieu de parler de taille en Mo, Go (ou autre) qui est assez subjectif puisque les différents logiciels les interprête différemment (1 Go = 1024 Mo certains logiciels prennent en compte directement, d'autres non) tu n'utilises pas les cylindes ? c'est beaucoup plus précis, tu est sur de commencer une partition au cul de la précédente et de l'arrêté juste à la tête de la précédente...
> 
> 

 

Heuuuu, fdisk me donne ceci :

```

loop ~ # fdisk -l

Disque /dev/sda: 250.0 Go, 250059350016 octets

255 heads, 63 sectors/track, 30401 cylinders

Units = cylindres of 16065 * 512 = 8225280 bytes

Disk identifier: 0x100f59dc

Périphérique Amorce    Début         Fin      Blocs    Id  Système

/dev/sda1   *           1        2432    19535008+  83  Linux

/dev/sda2            2433        2494      498015    5  Extended

/dev/sda3            6143       30401   194860417+  83  Linux

/dev/sda4            2495        6142    29302560    7  HPFS/NTFS

/dev/sda5            2433        2494      497983+  82  Linux swap / Solaris

Les entrées de la table de partitions ne sont pas dans l'ordre du disque

```

Tout ça ne me dit toujours pas si j'ai une chance avec cfdisk (que la partition se recrée exactement au même début que la partition à supprimer) ...

EDIT: en fait, je me tracasse car avec CFDISK, je ne vois pas comment avoir vraiment la "main" sur les partitions (genre, voir ou sda3 commence exactement, faire un test de suppression/recréation (sans appliquer les modifications) et vérifier que la nouvelle partition en sda3 commence au meme endroit. Serait-ce possible avec "fdisk" peut être ?

EDIT2: vu que ca à l'air foireux et que visiblement, vous n'êtes pas adepte de ma nouvelle méthode  :Very Happy:    ben, je vais faire une super backup de fou avant de procéder, pour pas pleurer après ...

----------

## Pixys

 *loopx wrote:*   

> 
> 
> Tout ça ne me dit toujours pas si j'ai une chance avec cfdisk (que la partition se recrée exactement au même début que la partition à supprimer) ...
> 
> EDIT: en fait, je me tracasse car avec CFDISK, je ne vois pas comment avoir vraiment la "main" sur les partitions (genre, voir ou sda3 commence exactement, faire un test de suppression/recréation (sans appliquer les modifications) et vérifier que la nouvelle partition en sda3 commence au meme endroit. Serait-ce possible avec "fdisk" peut être ?
> ...

 

si tu dis à fdisk de commencer ta partition à tel cylindre, il l'a commencera là... à toi de noter avant de tout effacer

+1 pour la sauvegarde, on est toujours plus heureux avec que sans.

----------

## loopx

Ok, les données sont OK, sauf que je risque de perdre presque 100Go de son ...

Je viens de faire un test (sans écrire sur la table de partition). Cela se trouve ici :

http://pix-mania.dyndns.org/mediawiki/index.php/R%C3%A9tr%C3%A9cir_un_syst%C3%A8me_de_fichier#R.C3.A9tr.C3.A9cir_la_taille_de_la_partition

Donc en gros, j'ai observé les chiffres avec "cfdisk" et "fdisk". J'ai surtout repéré le début de "sda3" (qui est noté en "cylindre"). Et après recréation via "cfdisk", la partition ne commence plus du tout au même endroit, je présume donc que je vais tout perdre si j'écris cette nouvelle table sur le disque. Donc, est-ce que j'avais de l'espace perdu et non partitionable sur mon disque ??? (je n'ai pas de "sda2"  :Surprised: .

Je devrais peut-être testé avec "fdisk" de manière à préciser le même début de partition ...

EDIT: je pense que je viens de capter ....  "sda4" est en fait écrit sur le disque avant "sda3" ... :s

----------

## loopx

Bon, jvais laisser tomber, c'est beaucoup trop risqué. En fait, je vais utilisé la partition "sda4" qui existe déjà, ce sera suffisant ...

Concernant "sda3", je vais lui redonner (au filesystem) sa taille d'origine (+35G) ...

Vive la perte de temps  :Smile:   Vive LVM !!!!!

----------

## xaviermiller

Salut,

fdisk permet de remettre l'ordre des partitons en mode avancé  :Wink: 

----------

## Pixys

J'ai essayé ça une fois (j'avais un dualboot Gentoo/XP) ça a tout fait foiré donc attention...

----------

## xaviermiller

En effet, il faut bien vérifier /etc/fstab par après... ou utiliser les LABEL  :Wink: 

----------

## loopx

Heu, j'ai abandonné ... J'ai donc conservé le "sda3" (data) et "sda4" (win). Or, après formatage de "sda4", je m'appercois que :

* "sda3" est maintenant "sda3" !!!

* "sda4" est "sda3" ...

De plus, Windows xp m'a foutu la partoche "sda3" (win) en boot ... et à retiré le boot linux (sda1). Après avoir remis un livecd et réparé tout ca, j'ai rebooté win pour jouer ... et paf, au reboot suivant, sda1 n'est plus bootable, mais bien sda3 et donc, plus que le menu win qui s'affiche (2x winxp alors qu'il n'est installé qu'une fois, y a eu un plantage lors de la première installation). Donc, je présume que Win restore a chaque fois le flag "bootable" sur sa partition ... et que de ce fait, je suis obligé d'installé grub sur "sda3" et non "sda1", sous peine de perdre tout le temps grub ...

Bon, a part ca, tout fonctionne encore  :Wink: 

----------

## Gaby

Il me semble que linux s'en fou du flag bootable ou pas, windows par contre ne sait pas booter sur une partoche non bootable.

Enfin j'ai peut être revé   :Embarassed: 

D'ailleur chez moi :

```
Périphérique Amorce    Début         Fin      Blocs    Id  Système

/dev/sda1   *           1       11749    94373811    7  HPFS/NTFS ( windows)

/dev/sda2           11750       11766      136552+  83  Linux (/boot)

/dev/sda3           11767       11891     1004062+  82  Linux swap / Solaris (swap)

/dev/sda4           11892       20023    65320290    5  Extended 

/dev/sda5           11892       18117    50010313+  83  Linux (/ )

/dev/sda6           18118       20023    15309913+  83  Linux (??? je sais plus :/)

```

----------

## xaviermiller

Seul Windows a besoin de ce flag "bootable". C'est d'ailleurs l'option "makeactive" dans grub, qui assure que le système Microsoft sélectionné démarre bien.

----------

