Antrag auf Prüfung!
Ich würde es begrüßen, wenn einige von Ihnen eine neue Option testen würden, die die Art und Weise ändert, wie UML in Ihre Dateien im Dateisystem schreibt, und Ihre Erfahrungen hier posten würden.
Normalerweise verwendet UML die Standardaufrufe der Open/Close-Lese-/Schreibbibliothek. Das Problem dabei ist, dass dadurch Daten im Seiten-Cache des Hosts dupliziert werden, was sich auf die gesamte Festplatten-E/A-Leistung auswirkt. Die neue Option ordnet die Dateisystemdatei direkt dem Seiten-Cache zu, so dass doppelte Kopien von Seiten und verschwendeter Seiten-Cache vermieden werden.
Auf der Seite "Edit Config Profile" (Konfigurationsprofil bearbeiten) wird eine neue "Experimental Option" angezeigt. Um sie zu aktivieren, aktivieren Sie ubd=mmap, speichern Sie und starten Sie neu. Sie sollten es in dmesg unter Kernel-Optionen bemerken. (dmesg | grep mmap)
Sobald wir eine Reihe von erfolgreichen Berichten haben, werde ich in Betracht ziehen, dies für alle zu aktivieren.
[color=darkred][b]WARNUNG:[/b][/color][/size] Ich empfehle NICHT jedem, diese Funktion zu aktivieren. Bei einer ausgereiften Funktion wie dieser besteht immer die Möglichkeit eines Datenverlusts. Jeff Dike hat letzten Monat den letzten bekannten Fehler in ubd=mmap behoben, der Dateisysteme über 4GB fraß (das wäre also ein guter Test), also verwenden Sie diese Option mit Vorsicht. Es gab keine Berichte über mmap-bezogene Fehler auf den UML-Mailinglisten, aber diese Option ist nicht sehr bekannt.
Die aktuelle Version (in den 2.4.24-Kerneln) hat bei mir mit aktiviertem mmap gut funktioniert, aber Ihre Erfahrungen können variieren.
Danke!
-Chris
Kommentare (7)
I’m game. 🙂
I just rebooted my linode with it enabled. I do nightly backups, so I am not overly concerned. Here’s hoping for the best..
That went badly.
From dmesg:
EXT3-fs error (device ubd(98,32)) in ext3_reserve_inode_write: IO failure
EXT3-fs error (device ubd(98,32)) in ext3_orphan_add: IO failure
attempt to access beyond end of device
62:20: rw=0, want=1086378492, limit=525312
EXT3-fs error (device ubd(98,32)): ext3_get_inode_loc: unable to read inode block – inode=2507, block=808465534
EXT3-fs error (device ubd(98,32)) in ext3_reserve_inode_write: IO failure
attempt to access beyond end of device
62:20: rw=0, want=1086378492, limit=525312
EXT3-fs error (device ubd(98,32)): ext3_get_inode_loc: unable to read inode block – inode=2507, block=808465534
EXT3-fs error (device ubd(98,32)) in ext3_reserve_inode_write: IO failure
attempt to access beyond end of device
62:20: rw=0, want=1086378492, limit=525312
EXT3-fs error (device ubd(98,32)): ext3_get_inode_loc: unable to read inode block – inode=2507, block=808465534
EXT3-fs error (device ubd(98,32)) in ext3_reserve_inode_write: IO failure
Over and over and over, and I/O failures on files. I’m turning it back off..
Well then. Let me gather the info and send that along to the list.
-Chris
My var filesystem was pretty goofed up, but I managed to fix it, and am up and running again without mmap.
Thanks for giving it a try. Glad it wasn’t too hosed… I guess there is our answer about mmap. It’s hungry for filesystems!
I’ve posted a msg to uml-user, so we’ll see what comes of it. I also removed the option from the config edit page…
Thanks,
-Chris
Not a problem, I was prepared if it had gone worse. I saw your email, I’ll be interested to see if they can track down the problem.. It’s an interesting option that I’d like to use on my non-linode UML’s as well.
Sounds like Jeff knows what to look for (from #uml)…
[code]13:05 < caker> jdike: anything else I can provide on the ubd=mmap corruption issue?
13:33 < jdike> caker: I’ve seen problems, so I’ve got something to chase
13:33 < jdike> caker: namely pages of zeros which shouldn’t be[/code]
-Chris