instalações de linux swap e disco

0

Eu sou um pouco novo no Linux.

  • Eu queria saber se o Linux tem um arquivo de troca semelhante ao Windows? (Se sim, como posso mudar sua localização?)

  • Meu disco rígido principal do linux está com pouco espaço, eu coloquei um novo disco rígido e o montei. Existe uma maneira comum de redirecionar todas as futuras instalações de aplicativos (e outras instalações) para o novo disco rígido?

por Sathya 10.03.2013 / 16:40

2 respostas

1

Se você estiver disposto a fazer mudanças disruptivas, eu recomendaria o uso do Gerenciador de Volume Lógico (LVM2) do Linux. p>

Ele permite combinar vários discos de tamanhos diferentes juntos e você pode adicionar discos para aumentar o tamanho aparente do "disco" lógico sem reinicializar. Se você estiver usando o sistema de arquivos padrão ( ext4 nos dias de hoje), ele também pode executar um redimensionamento online do sistema de arquivos, portanto, não é necessário reinicializar novamente.

Deixe-me demonstrar isso usando discos RAM ( /dev/ram0 a /dev/ram15 ). Primeiro, vamos ver as partições no meu sistema:

# lvmdiskscan
  /dev/ram0  [      64.00 MiB]
  /dev/ram1  [      64.00 MiB]
  /dev/sda1  [      87.16 GiB]
  /dev/ram2  [      64.00 MiB]
  /dev/ram3  [      64.00 MiB]
  /dev/ram4  [      64.00 MiB]
  /dev/ram5  [      64.00 MiB]
  /dev/sda5  [       6.00 GiB]
  /dev/ram6  [      64.00 MiB]
  /dev/ram7  [      64.00 MiB]
  /dev/ram8  [      64.00 MiB]
  /dev/ram9  [      64.00 MiB]
  /dev/ram10 [      64.00 MiB]
  /dev/ram11 [      64.00 MiB]
  /dev/ram12 [      64.00 MiB]
  /dev/ram13 [      64.00 MiB]
  /dev/ram14 [      64.00 MiB]
  /dev/ram15 [      64.00 MiB]
  /dev/sdb1  [     294.09 GiB]
  /dev/sdb5  [       4.00 GiB]
  0 disks
  20 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Então vamos criar uma configuração de 2 discos, e depois vou expandi-la para 3 discos. Primeiro, formate meus "discos" para uso pelo LVM. Nesta etapa, pv significa Volume físico, ou seja, um dispositivo real que armazena dados:

# pvcreate /dev/ram0
  Physical volume "/dev/ram0" successfully created

# pvcreate /dev/ram1
  Physical volume "/dev/ram1" successfully created

# pvs
  PV         VG      Fmt  Attr PSize  PFree
  /dev/ram0  vg_main lvm2 a-   60.00m 60.00m
  /dev/ram1  vg_main lvm2 a-   60.00m 60.00m

crie um grupo de volumes, que basicamente os une em um único "disco" não particionado:

# vgcreate vg_main /dev/ram0 /dev/ram1
  Volume group "vg_main" successfully created

# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  vg_main   2   0   0 wz--n- 120.00m 120.00m

e agora para "particionar" esse disco associado criando um Volume Lógico. Eu vou usar todo o espaço disponível:

# lvcreate --extents 100%VG --name lv_main  vg_main
  Logical volume "lv_main" created

# lvs
  LV      VG      Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv_main vg_main -wi-a- 120.00m

Então, agora eu tenho uma partição virtual de 120 MB na qual posso armazenar minhas coisas. O nó do dispositivo pode ser encontrado usando o comando lvdisplay mais detalhado:

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_main/lv_main
  VG Name                vg_main
  LV UUID                tsKWeD-tjpB-yh32-Ong3-Jp7C-erT8-LRVlTg
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

Portanto, devo colocar meu sistema de arquivos em /dev/vg_main/lv_main . Isso pode significar copiar um existente usando uma ferramenta como dd ou, nesta demonstração, criar um novo:

# mkfs.ext4 -L fs_main /dev/vg_main/lv_main
mke2fs 1.42 (29-Nov-2011)
Discarding device blocks: done
Filesystem label=fs_main
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
30720 inodes, 122880 blocks
6144 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
15 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Agora eu posso montar este sistema de arquivos (vazio) e preenchê-lo com alguns dados de teste:

# mkdir /tmp/demo

# mount /dev/vg_main/lv_main /tmp/demo

# df -h /tmp/demo
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main  117M  5.6M  105M   6% /tmp/demo

# ls /tmp/demo
lost+found

# dd if=/dev/zero of=/tmp/demo/bigfile
dd: writing to '/tmp/demo/bigfile': No space left on device
226701+0 records in
226700+0 records out
116070400 bytes (116 MB) copied, 0.982532 s, 118 MB/s

# ls -lh /tmp/demo
total 111M
-rw-r--r-- 1 root root 111M Mar 10 18:50 bigfile
drwx------ 2 root root  12K Mar 10 18:47 lost+found

Meu sistema de arquivos agora está completamente cheio! Isso pode ser verificado no nível do sistema de arquivos usando df e o nível de disco associado usando vgdisplay e verificando o PE livre (Extensões Físicas) / Tamanho (bytes):

# df -h /tmp/demo
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main  117M  117M     0 100% /tmp/demo

# vgdisplay
  --- Volume group ---
  VG Name               vg_main
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               120.00 MiB
  PE Size               4.00 MiB
  Total PE              30
  Alloc PE / Size       30 / 120.00 MiB
  Free  PE / Size       0 / 0
  VG UUID               zWxBml-xdZU-8wgh-IK1w-ij1N-Z3eo-sRtri3

Então, vamos aumentar agora! Vamos fingir que /dev/ram2 é um novo disco SATA adorável que eu acabei de ligar no meu sistema em execução, e eu quero usá-lo para aumentar o tamanho do meu sistema de arquivos completo.

Como antes, use pvcreate para preparar o "disco" para uso com o LVM:

# pvcreate /dev/ram2
  Physical volume "/dev/ram2" successfully created

Agora estendemos nosso disco unido (Grupo de volumes) e verificamos que vg_main tem algum espaço livre:

# vgextend vg_main /dev/ram2
  Volume group "vg_main" successfully extended

# vgdisplay
  --- Volume group ---
  VG Name               vg_main
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               180.00 MiB
  PE Size               4.00 MiB
  Total PE              45
  Alloc PE / Size       30 / 120.00 MiB
  Free  PE / Size       15 / 60.00 MiB
  VG UUID               zWxBml-xdZU-8wgh-IK1w-ij1N-Z3eo-sRtri3

Isso ainda não deixa espaço livre em nosso sistema de arquivos, já que a "partição" (Volume Lógico) é do mesmo tamanho que antes de adicionarmos nosso novo disco:

# df -h /tmp/demo
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main  117M  117M     0 100% /tmp/demo

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_main/lv_main
  VG Name                vg_main
  LV UUID                tsKWeD-tjpB-yh32-Ong3-Jp7C-erT8-LRVlTg
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

Aí vem a mágica - nós redimensionamos o Volume Lógico e dizemos ao LVM2 para redimensionar o sistema de arquivos dentro de:

# lvresize --extents 100%VG --resizefs /dev/vg_main/lv_main
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/mapper/vg_main-lv_main is mounted.


WARNING!!!  The filesystem is mounted.   If you continue you ***WILL***
cause ***SEVERE*** filesystem damage.


Do you really want to continue<n>?

Esse aviso assustador não está realmente relacionado ao redimensionamento do sistema de arquivos, mas ao pré-voo fsck que o LVM2 deseja fazer no sistema de arquivos montado. Obviamente, recusamos este alerta assustador e respondemos "não":

Do you really want to continue<n>? no

check aborted.
  Extending logical volume lv_main to 180.00 MiB
  Logical volume lv_main successfully resized
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/dm-0 is mounted on /tmp/demo; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/dm-0 to 184320 (1k) blocks.
The filesystem on /dev/dm-0 is now 184320 blocks long.

O LVM2 passa a fazer o redimensionamento online do sistema de arquivos que solicitamos. Voila!

# df -h /tmp/demo
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/vg_main-lv_main  175M  117M   49M  71% /tmp/demo

Agora posso criar mais arquivos novamente:

# dd if=/dev/zero of=/tmp/demo/another_file
dd: writing to '/tmp/demo/another_file': No space left on device
118751+0 records in
118750+0 records out
60800000 bytes (61 MB) copied, 0.556078 s, 109 MB/s

# ls -lh /tmp/demo
total 169M
-rw-r--r-- 1 root root  58M Mar 10 19:04 another_file
-rw-r--r-- 1 root root 111M Mar 10 18:52 bigfile
drwx------ 2 root root  12K Mar 10 18:47 lost+found
    
por 20.03.2014 / 20:55
0

1) O Linux não possui um arquivo de troca, o Linux possui uma partição de troca. Você pode mudar sua localização após a configuração inicial editando seu arquivo / etc / fstab como root para alterar a partição swap, mas você precisa criar outro.

2) Não há uma maneira fácil de conseguir isso, porque o Linux armazena os executáveis espalhados pelos diretórios do sistema.

    
por 10.03.2013 / 16:51