Bevorzugte Partitionierungs- und Montagetricks

15

Wir alle wissen, dass das Mounten einer neuen Partition als / home und vielleicht / boot äußerst nützlich ist. Oder das Mounten eines Remote-Verzeichnisses als / opt eignet sich hervorragend zum Teilen von Systemtools. Gibt es eine andere, vielleicht esoterischere Verwendung für zusätzliche Partitionen oder Festplatten oder raffinierte Möglichkeiten zum Mounten externer Volumes? Vielleicht, auch wenn irgendjemand Windows-Maschinen hat * shudder *, posten Sie ein paar coole Tricks, die Partitionierung und Festplattenmontage beinhalten.

Falmarri
quelle

Antworten:

12

Mit FUSE (Dateisystem in USErspace) kann auf viele Dinge als normale Dateien zugegriffen werden (keine vollständige Liste in jedem Fall):

  • Remote-Dateien, auf die über FTP zugegriffen wird
  • Remote-Dateien über ssh zugegriffen
  • Remote-Dateien, auf die über WebDAV zugegriffen wird
  • Dateien in Archiven
  • Dateien in einem nicht ausgeführten Image einer virtuellen Maschine mit xmount
  • Alles, was für eine Gnome-Anwendung wie eine Datei aussieht
  • Blogger-Blogs
  • Flickr

Es gibt auch viele FUSE-Dateisysteme, die eine Ansicht eines anderen Dateisystems mit Filtern, Umbenennen oder Ändern von Metadaten oder Inhalten darstellen:

Weitere Möglichkeiten auf der FUSE-Website und anderswo. Sie können auch ganz einfach Ihre eigenen in Erlang , Haskell , Lisp , Lua , Ocaml , Perl , Python , ... definieren.

Gilles 'SO - hör auf böse zu sein'
quelle
10

Die meisten Unices haben einen logischen Volume Manager . Benutze es.

  • Dateisysteme werden jetzt /dev/mapper/darkstar-homeeher durch aussagekräftige Namen (wie ) als durch Laufwerksbuchstaben (wie /dev/sda1, oops, es ist jetzt, /dev/sdb1weil ich mit einer angeschlossenen externen Festplatte gebootet habe) oder mit sicheren, aber bedeutungslosen UUIDs gekennzeichnet.

  • Möchten Sie ein Dateisystem auf eine andere Festplatte verschieben? Erstellen Sie ein physisches Volume auf der neuen Festplatte, fügen Sie es der Volume-Gruppe hinzu und verschieben Sie das logische Volume auf das neue physische Volume. Alles ohne Ausfallzeiten und ohne Demontage.

  • Wenn Sie ein Backup erstellen, erstellen Sie einen Snapshot der Festplatte und führen Sie das Backup vom Snapshot aus. Auf diese Weise ist die Sicherung eine konsistente Ansicht des Dateisystems (dh es gab tatsächlich einen Zeitpunkt, zu dem sich das Dateisystem in diesem Zustand befand). Dies gilt nicht für naive Backups (z. B. wird Datei A gesichert, dann ändert ein Programm zuerst A, dann B und dann B: Das Backup enthält das neue B und das alte A).

  • Müssen Sie ein Dateisystem vergrößern? Logische Datenträger müssen nicht zusammenhängend sein. Sie benötigen also nur genügend freien Speicherplatz, egal wo.

Gilles 'SO - hör auf böse zu sein'
quelle
8

Sie haben jemanden, der nur über FTP auf Ihren Server zugreifen kann und auf sein Basisverzeichnis beschränkt ist. Sie stellen jedoch fest, dass er Zugriff auf ein anderes Verzeichnis benötigt, das sich nicht in seinem Basisordner befindet.

Zum Beispiel hat Bob FTP-Zugriff auf Ihren Webserver, aber Sie möchten ihn auch die Protokolldateien unter /var/logs/httpd/vhosts/bobssite.com/ anzeigen lassen. Es ist mühsam, alles neu zu konfigurieren, sodass Apache Protokolle für bobssite.com in den Home-Ordner von bobs schreibt. Sie können jedoch die Bind-Option verwenden, um den Ordner wie folgt erneut bereitzustellen

mkdir /home/bob/logs
mount --bind /var/logs/httpd/vhosts/bobssite.com /home/bob/logs/

Weitere Informationen finden Sie hier .

Richard Holloway
quelle
3
Sie können auch bindfs verwenden , was flexibler ist: Sie müssen nicht root sein, um es zu verwenden, und es kann Eigentümer und Berechtigungen im laufenden Betrieb ändern.
Gilles 'SO- hör auf böse zu sein'
7

Die meisten Unices machen /tmpbeim Booten sauber . In diesem Fall ist es nicht sinnvoll, den Inhalt der /tmpFestplatte zu speichern. Viele Unices erlauben das Speichern eines Dateisystems im Speicher (die Daten werden bei Bedarf in den Swap geschrieben). Aus irgendeinem Grund tmpfsmounten die meisten Distributionen nicht /tmpals tmpfs. Es ist leicht zu beheben mit einer Zeile in /etc/fstab:

tmpfs  /tmp  tmpfs  mode=1777

Standardmäßig kann das Dateisystem bis zur Hälfte Ihres Arbeitsspeichers vergrößern. Wenn Sie viel Swap haben, möchten Sie möglicherweise zulassen, dass es größere Dateien enthält, z. B. um bis zu 2 GB zuzulassen:

tmpfs  /tmp  tmpfs  mode=1777,2g

(Machen Sie das Dateisystem größer hat einen vernachlässigbaren Overhead, die Nutzung des virtuellen Speichers wächst nach Bedarf Es ist immer noch eine gute Idee , eine Grenze zu haben , weil ein Programm aber es schnell sehr füllen könnte, und es ist besser laufen aus. /tmpAls Speicher zur Neige verfügbar für Prozesse.)

Gilles
quelle
Möglicherweise möchten Sie size=512MBden Optionen etwas Ähnliches hinzufügen . Standardmäßig beansprucht tmpfs die Hälfte des Arbeitsspeichers, was mehr ist, als Sie sich für ein reduziertes kleines Wegwerf-Dateisystem wünschen könnten
tante
1
Warum sollten Sie die maximale Größe des Dateisystems noch weiter reduzieren als die Standardgröße (was sehr konservativ ist: Sie möchten möglicherweise Dateien bis zu Ihrer virtuellen Speichergröße speichern)? (Beachten Sie, dass der für das Dateisystem erforderliche Speicher der Speicher ist, der zum Speichern der tatsächlichen Daten und Metadaten benötigt wird, zuzüglich etwa 10 bis 100 KB Overhead (gemessen auf einem weitgehend inaktiven Ubuntu 10.04 i386-System).)
Gilles 'SO - hör auf, böse zu sein '
5

Wenn Ihr Betriebssystem dies unterstützt, sollten Sie alle Dateisysteme auf RAID 1-Arrays einrichten, auch wenn diese nicht repliziert wurden. Auf diese Weise können Sie das Dateisystem online und schnell auf eine andere Festplatte übertragen, indem Sie die Partition auf der zweiten Festplatte zum Array hinzufügen, das Array neu erstellen und die erste Festplatte entfernen.

Einige LVM- Systeme können Volumes spiegeln, sodass Sie keine weiteren Layer benötigen. ZFS macht das ohne fremde Hilfe.

Gilles 'SO - hör auf böse zu sein'
quelle
2

Leistungsbezogen:

Vermeiden Sie das Schreiben von Dateizugriffen:

-o noatime

Usability-bezogen:

Sie können alternative Gerätenamen verwenden, z. B. Labels oder UUIDs.

Um beispielsweise meinen MP3-Player zu identifizieren, verwende ich diesen Gerätenamen in meiner fstab:

UUID=0C9F-6901

Sie können die UUIDs der angeschlossenen Geräte über den Befehl blkid drucken.

Analog dazu können Sie über e2fstune und vergleichbare Tools ein Label zur mkfs-Zeit oder später setzen. Dann können Sie verwenden

LABEL=mylabel

in der fstab oder in der befehlszeile.

maxschlepzig
quelle
2

Ein Oldie. Behalten Sie Ihre Software auf einer Festplatte und Ihre Daten auf einer anderen. Daher können Sie beide gleichzeitig suchen. Ermöglicht einen schnelleren Zugriff auf die Festplatte.

HandyGandy
quelle
1

Ich möchte eine separate Partition für alle persönlichen Daten haben, die ich nicht sichern muss, z. B. svn checkouts, Kopien von Daten, die sich hauptsächlich auf einem anderen Server befinden usw

fschmitt
quelle
1

Hängen Sie ein ISO-Image als Loopback-Dateisystem ein. Ich behalte eine Reihe von .iso-Dateien, und dies kann ein praktischer Weg sein, um Referenzdateien auf das Disk-Image zu kopieren.

stefan@host1:~ $ ls -ld ubuntu-10.04-server-amd64.iso
-rw-r--r-- 1 stefan staff 710412288 2010-06-27 11:51 ubuntu-10.04-server-amd64.iso
stefan@host1:~ $ mkdir ./ubuntu-10.04-server-amd64
stefan@host1:~ $ sudo mount -o loop ubuntu-10.04-server-amd64.iso ./ubuntu-10.04-server-amd64
stefan@host1:~ $ ls ubuntu-10.04-server-amd64
cdromupgrade  doc      isolinux    pics  preseed             ubuntu
dists         install  md5sum.txt  pool  README.diskdefines

Oder, wenn ich eine Offline-Kopie des Installationshandbuchs lesen möchte, kann ich das über die Befehlszeile tun:

stefanl @ host1: ~ $ links ubuntu-10.04-server-amd64 / doc / install / manual / de / index.html

Stefan Lasiewski
quelle