Niedawno zacząłem obsługiwać Linuksa zainstalowanego na urządzeniach z wbudowanymi nvme ssds. Zauważyłem, że pliki urządzeń mają dodatkowy numer, poza numerem identyfikującym numer napędu i numer partycji. Dyski IDE / SATA / SCSI zwykle mają tylko literę dysku i numer partycji.
Na przykład: / dev / nvme0n1p2
Zacząłem się zastanawiać, co to była część n1, i po krótkich poszukiwaniach wygląda na to, że identyfikuje ona „przestrzeń nazw” nvme. Definicje tego były niejasne: „Przestrzeń nazw NVMe to ilość nieulotnej pamięci (NVM), którą można sformatować w logiczne bloki”.
Czy to działa jak partycja zdefiniowana na poziomie kontrolera sprzętowego, a nie w tabeli partycji MBR lub GPT? Czy przestrzeń nazw może obejmować wiele fizycznych dysków Nvme SSD? Np. Czy możesz utworzyć przestrzeń nazw, która łączy pamięć z wielu dysków SSD w jedną logiczną przestrzeń nazw, podobną do RAID 0?
Co byś zrobił z przestrzenią nazw NVME, której nie można jeszcze osiągnąć przy użyciu tabel partycji lub LVM lub systemu plików, który może zarządzać wieloma woluminami (takimi jak ZFS, Btrfs itp.)?
Ponadto, dlaczego wydaje się, że numeracja przestrzeni nazw zaczyna się od 1 zamiast 0? Czy to ma coś wspólnego z tym, jak NVME śledzi numery przestrzeni nazw na niskim poziomie (np. Partycje również zaczynają się od 1, a nie od 0, ponieważ tak ustawiono standard dla numerów partycji, więc jądro Linuksa używa tylko tego numeru partycji zapisany na dysku to - myślę, że nvme działa w ten sam sposób?)