Eu li que você precisa colocar a partição swap no HDD em vez do SSD.
Minhas perguntas são as seguintes:
- Quando e como a "verificação" é feita pela distribuição (ou outra coisa) para encontrar sua partição Swap?
- Acontece durante o boot?
- Ele apenas verifica todos os discos disponíveis e procura uma partição com o sinalizador 'swap'?
- O que acontece se houver várias partições como essa?
- Além disso, quantas partições swap eu preciso ter se eu executar, por exemplo, duas distribuições diferentes no mesmo disco, digamos Fedora e Ubuntu?
O espaço de swap configurado estaticamente (o tipo que praticamente todas as distribuições usam) é configurado
/etc/fstab
exatamente como os sistemas de arquivos.Uma entrada típica se parece com:
Você também pode ver
discard
ounofail
especificado no campo sinalizadores (o quarto campo). Cada uma dessas linhas corresponde a uma área de troca (não precisa ser uma partição, você pode ter arquivos de troca ou até mesmo discos de troca inteiros).Em alguns casos realmente específicos, você pode ter um espaço de troca configurado dinamicamente, embora isso seja bastante raro porque pode causar um comportamento problemático relacionado ao gerenciamento de memória. Nesse caso, a configuração é realizada inteiramente por um componente de espaço do usuário que cria e habilita arquivos de troca conforme necessário em tempo de execução.
Quanto a quantas você precisa, é uma pergunta complicada de responder, mas o número de diferentes distribuições Linux que você planeja executar tem impacto zero nisso, a menos que você queira executar uma distribuição enquanto tem outra em hibernação (e você provavelmente não quer fazer isso, pois é uma maneira muito fácil de estragar seu sistema).
Quando você for executar o instalador para quase todas as principais distribuições (incluindo Fedora, OpenSUSE, Linux Mint, Debian e Ubuntu), ele detectará todas as partições swap existentes no sistema e as adicionará à configuração da distribuição que você está instalação (exceto possivelmente se você selecionar o particionamento manual) e, na maioria dos casos, isso resultará na configuração do sistema de maneira sensata.
Além disso, eu pessoalmente sugiro evitar ter várias partições de troca, a menos que você esteja falando sobre um sistema de servidor com muitos discos e, mesmo assim, você realmente precisa saber o que está fazendo para configurá-lo para que funcione bem .
… ambos são atualmente sistemas operacionais systemd.
O que acontece nos sistemas operacionais systemd
o mecanismo nativo
Systemd emprega vários tipos de unidades.
.mount
arquivos de unidade instruem-no a montar volumes..swap
Os arquivos de unidade o instruem a informar ao kernel sobre as partições de troca. (.service
arquivos de unidade instruem como executar serviços. E assim por diante.) Esses são os mecanismos nativos do systemd. Para aplicá-los, o próprio systemd separa os processos filhos que fazem as chamadas de sistema relevantes.Se você usar o
systemctl
comando (com--all
) em um sistema operacional systemd, ele informará sobre as.swap
unidades carregadas. Por exemplo:Ele também informará sobre as
.mount
unidades.Um administrador de sistema pode realmente escrever esses
.swap
arquivos de unidade manualmente, assim como xe pode escrever.service
,.socket
e outros arquivos de unidade manualmente. O próprio systemd apenas procura por arquivos unitários no sistema de arquivos. Eles são seu mecanismo nativo.Pode-se até obter o systemd para mostrar o que há nesses arquivos de unidade e onde eles podem ser encontrados no sistema de arquivos:
arquivos unitários gerados automaticamente
Pode-se escrevê-los à mão. Normalmente , no entanto, esses arquivos
.mount
e.swap
unidades são gerados automaticamente por programas conhecidos como geradores . Dois desses geradores sãosystemd-fstab-generator
esystemd-gpt-auto-generator
. Ambos são executados no início do processo de bootstrap e em resposta a umsystemctl daemon-reload
comando, e (como você pode ver acima) eles geram toda uma carga de arquivos de unidade em um subdiretório não documentado em/run/systemd/
. O próprio systemd usa apenas os arquivos de unidade gerados .O antigo gerador lê
/etc/fstab
, reconhecendo várias extensões systemd para esse formato de arquivo. Como indiquei em um comentário de resposta, tradicionalmente as partições de troca têm o tipo de montagem desw
e é assim que se descobrirá que outros sistemas operacionais reconhecem os registros de troca nesta tabela. Mas os softwares Linux adotaram a abordagem alternativa de reconhecer o tipo VFS , procurando peloswap
tipo VFS.systemd-fstab-generator
não é exceção aqui, e é assim que interpreta/etc/fstab
ao convertê-lo nos mecanismos nativos.O último gerador processa a tabela de partição EFI que está no mesmo disco que contém a partição do sistema EFI, procurando por entradas da tabela de partição EFI que possuem vários GUIDs de tipo de partição conhecidos . Um desses GUIDs é o GUID convencional atribuído às partições swap do Linux; e se
systemd-gpt-auto-generator
encontrar uma partição com esse GUID (que satisfaça os critérios fornecidos no systemd doco) fará uma.swap
unidade para ela; nenhum/etc/fstab
envolvido em tudo .Claro, esse processo tem muitos efeitos colaterais. Por exemplo, como
/etc/fstab
não há chave primária para a tabela, os registros podem ter campos "spec" e "arquivo" duplicados (ou seja, "o que" e "onde"). No mecanismo systemd nativo, porém, o campo "arquivo" (ou seja, "onde") é uma chave exclusiva para.mount
unidades, incorporada aos nomes das unidades. Duas.mount
unidades não podem compartilhá-lo. Para.swap
unidades, o campo "spec" (ou seja, "o que") é a chave exclusiva para unidades. Duas.swap
unidades não podem compartilhar isso. Portanto, nem todos os registros/etc/fstab
são necessariamente conversíveis para os mecanismos nativos e funcionarão, especialmente se as pessoas fizerem coisas como listar o mesmo ponto de montagem para duas finalidades diferentes ou listar a mesma partição de troca de duas maneiras diferentes.Da mesma forma, como foi traduzido
/etc/fstab
para o mecanismo nativo e o mecanismo nativo do systemd tem outras maneiras de ativar units , o comportamento é sutilmente diferente daquele dos sistemas operacionais não systemd. Uma.mount
unidade será, por padrão, ativada automaticamente porsystemd-udevd
, mesmo após o bootstrap, em resposta à aparência do dispositivo de armazenamento montado. Ou pode ser listado como umWants=
ouRequires=
de algum.service
ou.socket
unidade, o que significa que será (re)ativado quando eles forem. Existe mesmoRequiresMountsFor=
.programas de instalação e o modo systemd
Tradicionalmente, os programas de instalação do sistema operacional e o administrador do systemd depois de reconfigurar o sistema gravam
sw
entradas em arquivos/etc/fstab
. E é assim que o nativo.mount
e as.swap
unidades acabam sendo gerados automaticamente. O utilitário de instalação/configuração "sabe" onde o arquivo de troca foi colocado, porque em sua interface de usuário o administrador do sistema fez algum tipo de escolha e gravou um/etc/fstab
correspondente. Às vezes, essa escolha é : preciso que você crie uma partição de troca como parte da instalação. ; às vezes é apenas usar a partição swap que você já encontrou no disco. (instaladores olhando para os tipos de partição também).Mas o pessoal do systemd tem essa ideia de sistemas operacionais que se configuram automaticamente a partir de uma
/etc
árvore amplamente vazia, os chamados sistemas sem estado , e é disso que tratam mecanismos como o gerador que lê a tabela de partições EFI. No plano do pessoal do systemd, não há/etc/fstab
, e de fato não há dados de configuração persistentes/etc
, e todas essas coisas são deduzidas do conteúdo da tabela de partição no disco , em cada inicialização e em cada arquivosystemctl daemon-reload
. Atualmente, eles estão promovendo programas de instalação de sistema operacional que não escrevem um arquivo/etc/fstab
.No esquema tradicional, é claro que você pode de fato fazer com que cada sistema operacional tenha sua própria partição swap privada, sem que eles toquem nas partições swap um do outro. E, de fato, se você estiver usando o hibernate para o disco por meio de uma partição swap e esperando ser capaz de inicializar em outro sistema operacional durante a hibernação ( o que é uma péssima ideia porque é muito fácil causar corrupção no sistema de arquivos dessa maneira ), isso será necessário.
No esquema systemd, mesmo que o sistema operacional ainda não seja como o pessoal do systemd o imagina e "sem estado", os geradores mencionados funcionam; e assim todas as partições swap (no disco ESP/raiz) com o tipo de partição necessário são automaticamente empregadas por todos os sistemas operacionais systemd. Como eles estarão compartilhando todas as partições swap descobertas automaticamente, não é realmente necessário criar uma partição swap por sistema operacional instalado.
Leitura adicional
systemd.swap
. páginas de manual do systemd . freedesktop.org.systemd-fstab-generator
. páginas de manual do systemd . freedesktop.org.systemd-gpt-auto-generator
. páginas de manual do systemd . freedesktop.org.Historicamente, a partição swap é especificada
/etc/fstab
com uma entrada do tiposwap
. Na inicialização, os processos de inicialização lerão esse arquivo e enviarão essa configuração para o kernel.Um exemplo da entrada em
/etc/fstab
é:Não estou familiarizado com como
systemd
gerencia a troca, mas acredito que o resultado final é o mesmo: um processo de espaço de usuário está ciente de qual espaço é alocado para troca e o processo de espaço de usuário informa o kernel.Todas as outras respostas mencionam como apontar para um sistema de arquivos swap na inicialização.
No entanto, vários pontos a serem adicionados às outras respostas:
mkswap
;swapon
;swapoff
.