GNU/Linux >> Znalost Linux >  >> Linux

Jak přejmenovat podsvazek BTRFS?

Stačí mv to. To je doporučený způsob v dokumentaci komunity Ubuntu.

A abychom dále objasnili, proč je to správný způsob, jak to udělat, zde je citát z průvodce btrfs sysadmin:

Snímky

Snímek je jednoduše podsvazek, který sdílí svá data (a metadata) s nějakým jiným podsvazkem pomocí COW schopností btrfs. Jakmile je vytvořen [zapisovatelný] snímek, není žádný rozdíl ve stavu mezi původním podsvazkem a novým podsvazkem. Chcete-li se vrátit zpět ke snímku, odpojte upravený původní podsvazek a připojte snímek na jeho místo. V tomto okamžiku může být původní podsvazek na přání smazán. Vzhledem k tomu, že snímek je dílčí svazek, jsou možné také snímky snímků.


je třeba si povšimnout několika důležitých věcí. Názvy:

btrfs Subvolume - nezávislý datový kontejner inside souborový systém. Je reprezentován jako adresář stávajícího FS. Pokud vytvoříte nový podsvazek, bude prázdný, připravený k použití logického datového bloku uvnitř souborového systému. Velmi pohodlné použití tam, kde by měla být data logicky oddělena, např. různé virtuální počítače nebo různí klienti na různých podsvazcích. To umožňuje very fast odstranění všech logický datový blok s pouhým příkazem odstranění subvolume.

btrfs Snapshot – kopie existing subvolume se všemi jeho daty v okamžiku, kdy je snímek operačního systému hotový. Lze použít jako provozní zálohu pro vrácení nastavení nebo změn, např. vytvořit snímek dílčího svazku, provést změny (VM nebo data), otestovat, zda je vše v pořádku, po určité době odkladu snímek odstranit. Důležité upozornění:snímky lze pouze číst (-r switch) a lze je tedy použít jako přírůstkové bloky změn FS a případně přenést na úplně jiný BTRFS!

Aktuální (2016-12-30) BTRFS omezení:

Kopírování nebo přesouvání dat mezi dílčími svazky, např. mv dir1/dataset1 dir_subvolume1/ vytváří všechna skutečná io pro kopírování dat do jiného podsvazku a v případě přesunu odebírá z původního. A velmi efektivní kopírování tuny dat pouhým vytvářením referencí a tím používání funkce COW BTRFS:

cp -a --reflink=always dir1/dataset1 dir_subvolume1/

a v případě potřeby:

rm -rf dir1/dataset1

Snímek dílčího svazku pouze pro čtení lze přejmenovat (přesunout pomocí mv ) na úrovni existujícího adresáře, ale nelze jej přejmenovat/přesunout do jiné úrovně podadresáře. např. mv /btrfs/subvol_snap1 /btrfs/.snaphots není možné, vytváří nepříliš vysvětlenou chybu:mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system .Abyste mohli takový snímek přesunout, musíte vytvořit nový snímek pouze pro čtení existujícího snímku pouze pro čtení do nového preferovaného umístění a poté odstranit starý:

btrfs sub snap -r /btrfs/subvol_snap1 /btrfs/.snaphots/subvol_snap1
btrfs sub del /btrfs/subvol_snap1

Jen pro snazší život:

btrfs sub list /btrfs

Doufám, že to všem novým fanouškům btrfs ušetří spoustu času :)


Pokud byste chtěli přejmenovat kořenový svazek na vnořený podsvazek, museli byste jej pořídit snímek a poté provést find $ROOT_VOL -xdev -delete k odstranění předchozího obsahu kořenového svazku. Opačná manipulace (přejmenování podsvazku na kořenový svazek) se nezdá být možná.


Linux
  1. Jak přejmenovat adresář v Linuxu

  2. Jak přejmenovat více souborů pomocí funkce Najít?

  3. Jak bezpečně přejmenovat uživatele?

  1. Jak přejmenovat soubory v Linuxu

  2. Jak přejmenovat soubor v Linuxu?

  3. Jak změnit nebo přejmenovat přípojný bod v Linuxu

  1. Jak přejmenovat doménu

  2. Jak vytvořit a připojit Btrfs snímky

  3. Jak vyměnit vadné zařízení Btrfs