[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Größenangaben beim Verkleinern von Dateisystemen (war: Re: Festplatten verschlüsselt?)



Hi Jochen,

Am Sonntag, 10. März 2013 schrieb Jochen Spieker:
> Martin Steigerwald:
> > Ich lehre mittlerweile in lvreduce und resize2fs die gleiche Größe in
> > der *gewünschten* Einheit anzugeben. Z.B. beidesmal 20G, das bedeutet
> > *auf* 20G verkleinern. Denn seit geraumer Zeit rechnen beide Werkzeuge
> > diese 20G auf das Byte genau identisch aus. .)
> 
> Ist das denn irgendwo explizit dokumentiert? Ich habe ja, wie ich
> schrieb, letztens mit sowas hantiert. Da habe ich lieber Verschnitt
> eingeplant, und die jeweilige Ebene drüber am Ende vergrößert, weil das
> ja immer problemlos geht.
> 
> IIRC hatte ich im Hinterkopf, dass die Einheiten konsistent verwendet
> werden, fand aber nicht, dass die Dokumentation das zweifelsfrei
> hergibt. Ich glaube, die Manpages haben zu diesem Zeitpunkt zwar
> die Einheiten augenscheinlich konsistent benannt, aber das war mir zu
> wenig. In manchen Dingen ist man doch konservativ. :)

Auszug resize2fs(8):

       The size parameter specifies the  requested  new  size  of  the
       filesystem.   If  no units are specified, the units of the size
       parameter shall be the filesystem blocksize of the  filesystem.
       Optionally,  the  size  parameter may be suffixed by one of the
       following the units designators: 's', 'K', 'M', or 'G', for 512
       byte sectors, kilobytes, megabytes, or gigabytes, respectively.
       The size of the filesystem may never be larger than the size of
       the  partition.   If  size  parameter is not specified, it will
       default to the size of the partition.

       Note: when kilobytes is used above,  I  mean  real,  power-of-2
       kilobytes,  (i.e.,  1024 bytes), which some politically correct
       folks insist should be the stupid-sounding ``kibibytes''.   The
       same   holds  true  for  megabytes,  also  sometimes  known  as
       ``mebibytes'',   or   gigabytes,   as   the   amazingly   silly
       ``gibibytes''.  Makes you want to gibber, doesn't it?


Auszug lvreduce:

       -L, --size [-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]
              Reduce  or  set  the  logical  volume  size  in units of
              megabytes.  A size suffix  of  k  for  kilobyte,  m  for
              megabyte,  g  for  gigabytes,  t  for  terabytes,  p for
              petabytes or e for exabytes is  optional.   With  the  -
              sign  the value will be subtracted from the logical vol‐
              ume's actual size and without it it will be taken as  an
              absolute size.


Also nö. Schade auch.

ich stimme mit der Meinung von Theodore T'so oder wer auch immer die
Manpage geschrieben hat nicht überein:

Kilo, Mega und Giga sind *metrische* Einheiten. Also 1000nder-Basis.
Genau durch diese Begriffsverwirrung ist nun nämlich nicht klar, was
lvreduce da macht. Ob Kibi, Mibi, Gigi gefallen, lasse ich mal dahin
gestellt – eindeutig sind sie zumindest. Ebenso wie Kilo, Mega, Giga ja
an sich auch eindeutig sind.


Ich lese

 302 »·······v = strtod(val, &ptr);
 303 
 304 »·······if (ptr == val)
 305 »·······»·······return 0;
 306 
 307 »·······if (*ptr) {
 308 »·······»·······for (i = strlen(suffixes) - 1; i >= 0; i--)
 309 »·······»·······»·······if (suffixes[i] == tolower((int) *ptr))
 310 »·······»·······»·······»·······break;
 311 
 312 »·······»·······if (i < 0) {
 313 »·······»·······»·······return 0;
 314 »·······»·······} else if (i == 7) {
[…]
 329 »·······»·······} else {
 330 »·······»·······»·······/* all other units: kmgtpe */
 331 »·······»·······»·······while (i-- > 0)

 332 »·······»·······»·······»·······v *= 1024;
                                          ^^^^

 333 »·······»·······»·······v *= 2;                                                         
 334 »·······»·······}

aus tools/lvmcmdline.c so, als ob lvm aber tatsächlich auf 1024er-Basis
rechnet. Das deckt sich auch mit meiner Erfahrung. Denn das würde
in lvm2 kommt bei den Größen immer weniger raus als bei fdisk :)

Nicht zuletzt habe ich schon desöfteren erfolgreich Dateisysteme genau
so verkleinert. Und meine Schulungsteilnehmer auch. Auch mit zweitem
fsck, *nach* dem Verkleinern :)

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: