Partition >2TB ohne Datenverlust vergrößern

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Hallo Leute,

ich wende mich nun mit meinem Problem an dieses Forum in der Hoffnung hier Hilfe zu bekommen.

Ich habe einen Server mit einem 3Ware 9650SE.
An diesem Controller hängen derzeit 5 Platten im RAID 5 Verbund.

Das Disklabel habe ich von msdos auf gpt umgestellt, wie hier beschrieben:
http://bw11.ch/partitionen2tb.html

Die Onlinekapazitätserweiterung am Controller funktioniert einwandfrei.

Ich wollte jetzt das erweitern des Dateisystems testen bevor ich ihn mit Daten fülle und später um eine weitere Platte erweitere.

Ich lege zu Testzwecken eine Partition mit 2TB mit dem Tool 'parted' an und formatiere diese anschließen mit xfs an

Code: Select all

mkfs.xfs /dev/sda1
Anschließend soll die Partition auf die Maximale Größe vergrößert werden ohne das die Daten verloren gehen.
Habe mich an diese Anleitung gehalten: http://www.linuxforen.de/forums/archive ... 49608.html

Jetzt will ich die Partiton vergrößern und gehe wie folgt vor:
1. Partition unmounten
2. parted starten

Code: Select all

rm 1
mkpart primary 64k 2500G
q
3. reboot
4. Mounten des Dateisystems

Code: Select all

 mount /dev/sda1 /srv/raid5/
hier entsteht der Fehler

Code: Select all

mount: /dev/sda1: can't read superblock
-> Was mache ich falsch, gibt es einen besseren Weg? (xfs soll auf jeden Fall genutzt werden)

Jetzte würden nur noch fehlen
5. xfs_growfs /srv/raid5

-> Kann mir jemand eine bessere / detailierte Anleitung geben?
-> Welche Tools sind am besten für die Console und diese Aufgaben?

Danke

Gruss
Jan
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by oxygen »

nehm LVM. Das Neuerstellen bzw. bearbeiten der Partitionstabelle ist hässlich. btw. rebooten ist nach einer Änderung der Partitionstabelle nicht nötig. Man muss nur den Kernel nötigen sie neueinzulesen, z.B. mit

Code: Select all

sfdisk -R
User avatar
daemotron
Administrator
Administrator
Posts: 2643
Joined: 2004-01-21 17:44
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by daemotron »

Normalerweise ist das Vergrößern einer Partition bei XFS unproblematisch, solange Du die untere Zylindergrenze nicht veränderst und der Zuwachs nur am oberen Ende der Partition erfolgt. Dass der Superblock nicht lesbar/beschädigt ist, heißt entweder, dass Du bzw. parted an der unteren Partitionsgrenze rumgepfuscht hast (eine generell sehr schlechte Idee), oder dass dieser zufällig und unabhängig von Deinen Operationen zerschossen wurde (z. B. durch einen unsauberen umount o. ä.). Btw. hast Du denn geprüft, ob der Controller schon mit der Umorganisation des Arrays durch war, bevor Du die Partitionen angefasst hast?
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

danke erstmal für die schnelle Antworten.
nehm LVM. Das Neuerstellen bzw. bearbeiten der Partitionstabelle ist hässlich
Ich habe mich gerade mal an das Howto zu LVM gesetzt aber das ist ja doch ne Menge arbeit und nicht gerade einfach.
Normalerweise ist das Vergrößern einer Partition bei XFS unproblematisch, solange Du die untere Zylindergrenze nicht veränderst und der Zuwachs nur am oberen Ende der Partition erfolgt. Dass der Superblock nicht lesbar/beschädigt ist, heißt entweder, dass Du bzw. parted an der unteren Partitionsgrenze rumgepfuscht hast (eine generell sehr schlechte Idee), oder dass dieser zufällig und unabhängig von Deinen Operationen zerschossen wurde (z. B. durch einen unsauberen umount o. ä.). Btw. hast Du denn geprüft, ob der Controller schon mit der Umorganisation des Arrays durch war, bevor Du die Partitionen angefasst hast?
Also das umorganisieren war beendet.
Die untere Partitionsgrenze habe ich in mehreren Durchläufen nicht verändert, ich habe immer 1 eingeben und er hat es selbstständig auf 17,4kb gesetzt. In einem zweiten Lauf habe ich es mit einer unteren Grenze von 64k probiert. Bei beiden Durchläufen kamm immer der Fehler mit dem Superblock.
Der umount sollte auch sauber durchgelaufen sein, zumindest gab es keine Fehlermeldung in der Console beim unmounten.

Habe eben die Prozedur nochmal durchgeführt und immer 64k als untere Grenze angeben:

Code: Select all

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      64,0kB  2000GB  2000GB  xfs          primary

(parted) rm 1
(parted) mkpart primary xfs 64k 2500000M
(parted) p

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      64,0kB  2500GB  2500GB  xfs          primary

(parted) q
root@nc969-10:~# sfdisk -R /dev/sda
root@nc969-10:~# mount /dev/sda1 /srv/raid5/
mount: /dev/sda1: can't read superblock
root@nc969-10:~#
jhl
Posts: 21
Joined: 2005-05-23 16:16
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by jhl »

CONFIG_EFI_PARTITION ist im Kernel?
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Denke ja:

Code: Select all

root@nc969-10:/boot# uname -a
Linux nc969-10 2.6.20-16-generic #2 SMP Sun Sep 23 18:31:23 UTC 2007 x86_64 GNU/Linux
root@nc969-10:/boot# cat config-2.6.20-16-generic | grep CONFIG_EFI_PARTITION
CONFIG_EFI_PARTITION=y
root@nc969-10:/boot#
jhl
Posts: 21
Joined: 2005-05-23 16:16
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by jhl »

Das mit dem Denken und grep auf das config-File dachte ich auch schon mal, seit dem nur noch über /proc/config.gz...

Das Problem mit der defekten großen Partitionen habe ich damit gelöst. Was passiert denn, wenn Du nach parted und vor dem Reboot die Partition wieder mounten willst?
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Code: Select all

root@nc969-10:~# parted /dev/sda
GNU Parted 1.7.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart
Partition name?  []? primary
File system type?  [ext2]? xfs
Start? 1
End? 2000000M
(parted) p

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17,4kB  2000GB  2000GB  xfs          primary

(parted) q
root@nc969-10:~# mkfs.
mkfs.cramfs    mkfs.ext3      mkfs.msdos     mkfs.vfat
mkfs.ext2      mkfs.minix     mkfs.reiserfs  mkfs.xfs
root@nc969-10:~# mkfs.xfs /dev/sda
sda   sda1
root@nc969-10:~# mkfs.xfs /dev/sda1
mkfs.xfs: /dev/sda1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
root@nc969-10:~# mkfs.xfs -f /dev/sda1
meta-data=/dev/sda1              isize=256    agcount=32, agsize=15258788 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=488281216, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=4096   blocks=0, rtextents=0
root@nc969-10:~# mount /dev/sda1 /srv/raid5/
root@nc969-10:~# umount /srv/raid5/
root@nc969-10:~# parted
.aptitude/     .bashrc        .lesshst       .mc/           testdisk.log
.bash_history  InstallShield/ .lvm_history   .profile       .viminfo
root@nc969-10:~# parted /dev/sda
GNU Parted 1.7.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17,4kB  2000GB  2000GB  xfs          primary

(parted) rm
Partition number? 1
(parted) mkpart
Partition name?  []? primary
File system type?  [ext2]? xfs
Start? 1
End? 2500000M
(parted) p

Disk /dev/sda: 3000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17,4kB  2500GB  2500GB  xfs          primary

(parted) q
root@nc969-10:~# mount /dev/sda1 /srv/raid5/
root@nc969-10:~# 
Direkt im Anschluss geht es.
Habe dann eine reboot ausgeführt.

Wenn ich dann reboote, mounte Daten einfülle reboote und dann parted nutze kommt beim anschließenden mount wieder der Fehler mit dem Superblock.
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Ich habe gerade was gefunden:

Code: Select all

rm 1
mkpart p 0 80%
q
xfs_grownfs /[mountpoint]
Wenn ich die Partionsgröße jetzt immer prozentual ändere und dann es gleich wieder mounte ohne Neustart und dann xfs vergrößrere dann gibt es keine Probleme mehr, mache gerade nochmal n paar Testläufe.
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Nach dem 3 Neustart ohne Absturz habe ich jetzt wieder folgendes:

Code: Select all

can't read superblock
:cry:

Code: Select all

root@nc969-10:~# fsck.xfs /dev/sda1

Code: Select all

root@nc969-10:~# xfs_check /dev/sda1
can't seek in filesystem at bb 2127399152
can't read btree block 58/426008
extent count for ino 1421739 data fork too low (0) for file format
bad nblocks 179227 for inode 1421739, counted 0
bad nextents 11 for inode 1421739, counted 0
Segmentation fault

Code: Select all

root@nc969-10:~# dmsg | tail
-bash: dmsg: command not found
root@nc969-10:~# dmesg | tail
[  374.565746] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[  374.566010] SGI XFS Quota Management subsystem
[  374.684846] attempt to access beyond end of device
[  374.684851] sda1: rw=0, want=5859286968, limit=1564319677
[  374.684983] I/O error in filesystem ("sda1") meta-data dev sda1 block 0x15d3d9fb7       ("xfs_read_buf") error 5 buf count 512
[  374.685034] XFS: size check 2 failed
[  383.846615] attempt to access beyond end of device
[  383.846621] sda1: rw=0, want=5859286968, limit=1564319677
[  383.846760] I/O error in filesystem ("sda1") meta-data dev sda1 block 0x15d3d9fb7       ("xfs_read_buf") error 5 buf count 512
[  383.846805] XFS: size check 2 failed
Edit:
Hier habe ich im Netz mein Problem gefunden:
http://ubuntuforums.org/showthread.php?t=568309
Last edited by inspectorgaga on 2007-10-10 22:09, edited 3 times in total.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by Joe User »

Code: Select all

uname -a
mkfs.xfs -V
xfs_info /dev/sda1
Tritt das Problem auch bei kleineren Partitionsgrössen (<250GB) auf?

EDIT:

Deaktiviere mal den Realtime- und den Quota-Support im Kernel-Modul.
http://www.google.com/search?hl=en&q=%2 ... gle+Search
http://oss.sgi.com/archives/xfs/2007-09/msg00104.html
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Danke, erstmal.

Ich werde es testen, habe aber wohl erst am Montag Zeit dazu. Melde mich dann wenn ich mehr weiß.
inspectorgaga
Posts: 8
Joined: 2007-10-06 17:30
Location: Burgdorf
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by inspectorgaga »

Problem gelöst! :!:

Das Problem liegt an der (alten) Version von Parted, die allen aktuellen Distris beiliegt.

:idea: :idea: :idea: :idea: :idea:

Wenn man die ganze Aktion mit parted 1.8.8 durchzeiht, sind die Probleme behoben und der oben beschrieben Weg funktioniert! 8)
Anonymous
 

Re: Partition >2TB ohne Datenverlust vergrößern

Post by Anonymous »

Für alle die sich das Problem mit Partitionen ein für alle male aus der Welt schaffen wollen

unter Linux ist es auch ohne Probleme möglich direct ohne Partitionierung die Platte zu formatiern, was bei grossen laufwerken, und vor allem RAID-Controllern Sinn macht, da man ja dann ohne eine Partition ändern zu müssen nach der RAID Expanding sofort das Dateisystem veranlassen kann den nun verfügbaren Platz zu nutzen, ohne zuerst eine Partition vergrössern zu müssen.

Einfach z.B /dev/sda formatieren