1
0
Fork 0
This commit is contained in:
Digital Studium 2023-04-24 00:06:03 +03:00
parent dbe264b3df
commit 38abf43c97
8 changed files with 222 additions and 7 deletions

View File

@ -5,82 +5,125 @@ filename: how-to-extend-lvm-volume-on-linux
date: 2022-05-15 date: 2022-05-15
--- ---
### Situation 1: new disk ### Situation 1: new disk
#### First step: creating a physical volume #### First step: creating a physical volume
After you have attached the disk to a physical server or virtual machine, you need to type command: After you have attached the disk to a physical server or virtual machine, you need to type command:
```bash ```bash
sudo fdisk -l sudo fdisk -l
``` ```
<!--more--> <!--more-->
This is to make sure the drive is recognized by the operating system, and to identify the drive name. Output of the command will be something like this: This is to make sure the drive is recognized by the operating system, and to identify the drive name. Output of the command will be something like this:
```plaintext ```plaintext
Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes/512 bytes Sector size (logical/physical): 512 bytes/512 bytes
I/O size (minimum/optimal): 512 bytes/512 bytes I/O size (minimum/optimal): 512 bytes/512 bytes
``` ```
Once you have identified the drive name (in our case it is `/dev/vdc`), you can create physical volume using the command: Once you have identified the drive name (in our case it is `/dev/vdc`), you can create physical volume using the command:
```bash ```bash
sudo pvcreate /dev/vdc sudo pvcreate /dev/vdc
``` ```
You will see output like this: You will see output like this:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdc" successfully created.
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
#### Step two: extend the volume group #### Step two: extend the volume group
To get a list of available volume groups run this command:
```shell
vgdisplay
```
You can now extend the volume group. This is done by the following command: You can now extend the volume group. This is done by the following command:
```bash ```bash
sudo vgextend {vg-name} {pv-name} sudo vgextend {vg-name} {pv-name}
``` ```
In our case, it will be: In our case, it will be:
```bash ```bash
sudo vgextend vg-example /dev/vdc sudo vgextend vg-example /dev/vdc
``` ```
You will see output like this: You will see output like this:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc
Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdc" successfully created.
Volume group "vg-example" successfully extended Volume group "vg-example" successfully extended
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
#### Step three: extending the logical volume #### Step three: extending the logical volume
Extending a logical volume can be done with the following command: Extending a logical volume can be done with the following command:
```bash ```bash
sudo lvextend --size + {size} {vg-name/lv-name} sudo lvextend --size + {size} {vg-name/lv-name}
``` ```
In our case, it will be: In our case, it will be:
```bash ```bash
sudo lvextend --size +2G vg-example/lv-example sudo lvextend --size +2G vg-example/lv-example
``` ```
You will see output like this: You will see output like this:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example
Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents). Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).
Logical volume vg-example/lv-example successfully resized. Logical volume vg-example/lv-example successfully resized.
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
If you want the logical volume to use all the free space in the volume group, then type If you want the logical volume to use all the free space in the volume group, then type
command: command:
```bash ```bash
sudo lvextend --extents +100%FREE vg-example/lv-example sudo lvextend --extents +100%FREE vg-example/lv-example
``` ```
#### Fourth step: extending the file system #### Fourth step: extending the file system
If you have xfs file system, then the extending can be done with the following command: If you have xfs file system, then the extending can be done with the following command:
```bash ```bash
sudo xfs_growfs /dev/{vg-name}/{lv-name} sudo xfs_growfs /dev/{vg-name}/{lv-name}
``` ```
In our case, it will be: In our case, it will be:
```bash ```bash
sudo xfs_growfs /dev/vg-example/lv-example sudo xfs_growfs /dev/vg-example/lv-example
``` ```
For ext4 filesystem, replace `xfs_growfs` with `resize2fs` For ext4 filesystem, replace `xfs_growfs` with `resize2fs`
### Situation 2: if the size of the existing disk has changed ### Situation 2: if the size of the existing disk has changed
Sometimes the size of an existing disk can change, for example, in case of a virtual machine. In this case, the first step will be different, the second step will not be performed, and the rest of the steps will be pretty the same as in the situation with a new disc described above. The first step is not to create a physical volume, but to resize the existing one. It can be done with the command: Sometimes the size of an existing disk can change, for example, in case of a virtual machine. In this case, the first step will be different, the second step will not be performed, and the rest of the steps will be pretty the same as in the situation with a new disc described above. The first step is not to create a physical volume, but to resize the existing one. It can be done with the command:
```bash ```bash
sudo pvresize /dev/DISKNAME sudo pvresize /dev/DISKNAME
``` ```
For example, For example,
```bash ```bash
sudo pvresize /dev/vdc sudo pvresize /dev/vdc
``` ```

View File

@ -135,8 +135,8 @@ First install `pyinstaller`:
pip install pytinstaller pip install pytinstaller
``` ```
Then we run the command: Then we run the command:
``` ```bash
pyinstaller my-cli-tool --onefile pyinstaller my-cli-tool --onefile
``` ```
A folder `dist` shoud appear, and a binary file `my-cli-tool` inside it with all dependencies, which can be used even on servers, A folder `dist` should appear, and a binary file `my-cli-tool` inside it with all dependencies, which can be used even on servers,
which do not have python or fire installed. Just put this file in the path `/usr/local/bin` and `my-cli-tool` can be used! which do not have python or fire installed. Just put this file in the path `/usr/local/bin` and `my-cli-tool` can be used!

View File

@ -60,7 +60,7 @@ kostya@ubuntu-21-04:~$ sudo lvcreate --size 5G --name lv-example vg-example
Logical volume "lv-example" created. Logical volume "lv-example" created.
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
Если же вы хотите, чтобы логичекий том использовал всё свободное место в группе томов, то наберите команду: Если же вы хотите, чтобы логический том использовал всё свободное место в группе томов, то наберите команду:
```bash ```bash
sudo lvcreate --extents 100%FREE --name lv-example vg-example sudo lvcreate --extents 100%FREE --name lv-example vg-example
``` ```

View File

@ -5,82 +5,125 @@ filename: how-to-extend-lvm-volume-on-linux
date: 2022-05-15 date: 2022-05-15
--- ---
### Ситуация 1: новый диск ### Ситуация 1: новый диск
#### Первый шаг: создание физического тома #### Первый шаг: создание физического тома
После того, как вы присоединили диск к физическому серверу или к виртуальной машине, вам нужно набрать команду: После того, как вы присоединили диск к физическому серверу или к виртуальной машине, вам нужно набрать команду:
```bash ```bash
sudo fdisk -l sudo fdisk -l
``` ```
<!--more--> <!--more-->
Это нужно, чтобы убедиться, что диск распознан операционной системой, а также чтобы идентифицировать имя диска. Вывод команды будет примерно такой: Это нужно, чтобы убедиться, что диск распознан операционной системой, а также чтобы идентифицировать имя диска. Вывод команды будет примерно такой:
```plaintext ```plaintext
Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
``` ```
После того, как вы идентифицировали имя диска (в нашем случае это `/dev/vdc`), вы можете создать физический том с помощью команды: После того, как вы идентифицировали имя диска (в нашем случае это `/dev/vdc`), вы можете создать физический том с помощью команды:
```bash ```bash
sudo pvcreate /dev/vdc sudo pvcreate /dev/vdc
``` ```
Вы увидите такой вывод: Вы увидите такой вывод:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdc" successfully created.
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
#### Второй шаг: расширение группы томов #### Второй шаг: расширение группы томов
Чтобы увидеть список доступных групп томов, воспользуйтесь командой:
```shell
vgdisplay
```
Теперь можно расширить группу томов. Делается это такой командой: Теперь можно расширить группу томов. Делается это такой командой:
```bash ```bash
sudo vgextend {vg-name} {pv-name} sudo vgextend {vg-name} {pv-name}
``` ```
В нашем случае это будет: В нашем случае это будет:
```bash ```bash
sudo vgextend vg-example /dev/vdc sudo vgextend vg-example /dev/vdc
``` ```
Вы увидите такой вывод: Вы увидите такой вывод:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc
Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdc" successfully created.
Volume group "vg-example" successfully extended Volume group "vg-example" successfully extended
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
#### Третий шаг: расширение логического тома #### Третий шаг: расширение логического тома
Расширение логического тома делается такой командой: Расширение логического тома делается такой командой:
```bash ```bash
sudo lvextend --size +{size} {vg-name/lv-name} sudo lvextend --size +{size} {vg-name/lv-name}
``` ```
В нашем случае это будет: В нашем случае это будет:
```bash ```bash
sudo lvextend --size +2G vg-example/lv-example sudo lvextend --size +2G vg-example/lv-example
``` ```
Вы увидите такой вывод: Вы увидите такой вывод:
```plaintext ```plaintext
kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example
Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents). Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).
Logical volume vg-example/lv-example successfully resized. Logical volume vg-example/lv-example successfully resized.
kostya@ubuntu-21-04:~$ kostya@ubuntu-21-04:~$
``` ```
Если же вы хотите, чтобы логичекий том использовал всё свободное место в группе томов, то наберите
Если же вы хотите, чтобы логический том использовал всё свободное место в группе томов, то наберите
команду: команду:
```bash ```bash
sudo lvextend --extents +100%FREE vg-example/lv-example sudo lvextend --extents +100%FREE vg-example/lv-example
``` ```
#### Четвёртый шаг: расширение файловой системы #### Четвёртый шаг: расширение файловой системы
Если у вас файловая система `xfs`, то расширение делается такой командой: Если у вас файловая система `xfs`, то расширение делается такой командой:
```bash ```bash
sudo xfs_growfs /dev/{vg-name}/{lv-name} sudo xfs_growfs /dev/{vg-name}/{lv-name}
``` ```
В нашем случае это будет: В нашем случае это будет:
```bash ```bash
sudo xfs_growfs /dev/vg-example/lv-example sudo xfs_growfs /dev/vg-example/lv-example
``` ```
В случае с файловой системой ext4 замените команду `xfs_growfs` на `resize2fs` В случае с файловой системой ext4 замените команду `xfs_growfs` на `resize2fs`
### Ситуация 2: если изменился размер существующего диска ### Ситуация 2: если изменился размер существующего диска
Иногда может измениться размер существующего диска, например, в случае с виртуальной машиной. В таком случае, первый шаг будет отличаться, второй шаг выполняться не будет, а остальные шаги будут такими же, как в ситуации с новым диском, описанной выше. На первом шаге нужно будет не создать физический том, а расширить существующий. Делается это такой командой: Иногда может измениться размер существующего диска, например, в случае с виртуальной машиной. В таком случае, первый шаг будет отличаться, второй шаг выполняться не будет, а остальные шаги будут такими же, как в ситуации с новым диском, описанной выше. На первом шаге нужно будет не создать физический том, а расширить существующий. Делается это такой командой:
```bash ```bash
sudo pvresize /dev/DISKNAME sudo pvresize /dev/DISKNAME
``` ```
Например, Например,
```bash ```bash
sudo pvresize /dev/vdc sudo pvresize /dev/vdc
``` ```

View File

@ -0,0 +1,129 @@
---
title: "Linux: Как расширить логический том LVM"
category: linux-lifehacks
filename: how-to-extend-lvm-volume-on-linux
date: 2022-05-15
---
### Ситуация 1: новый диск
#### Первый шаг: создание физического тома
После того, как вы присоединили диск к физическому серверу или к виртуальной машине, вам нужно набрать команду:
```bash
sudo fdisk -l
```
<!--more-->
Это нужно, чтобы убедиться, что диск распознан операционной системой, а также чтобы идентифицировать имя диска. Вывод команды будет примерно такой:
```plaintext
Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
```
После того, как вы идентифицировали имя диска (в нашем случае это `/dev/vdc`), вы можете создать физический том с помощью команды:
```bash
sudo pvcreate /dev/vdc
```
Вы увидите такой вывод:
```plaintext
kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created.
kostya@ubuntu-21-04:~$
```
#### Второй шаг: расширение группы томов
Чтобы увидеть список доступных групп томов, воспользуйтесь командой:
```shell
vgdisplay
```
Теперь можно расширить группу томов. Делается это такой командой:
```bash
sudo vgextend {vg-name} {pv-name}
```
В нашем случае это будет:
```bash
sudo vgextend vg-example /dev/vdc
```
Вы увидите такой вывод:
```plaintext
kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc
Physical volume "/dev/vdc" successfully created.
Volume group "vg-example" successfully extended
kostya@ubuntu-21-04:~$
```
#### Третий шаг: расширение логического тома
Расширение логического тома делается такой командой:
```bash
sudo lvextend --size +{size} {vg-name/lv-name}
```
В нашем случае это будет:
```bash
sudo lvextend --size +2G vg-example/lv-example
```
Вы увидите такой вывод:
```plaintext
kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example
Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).
Logical volume vg-example/lv-example successfully resized.
kostya@ubuntu-21-04:~$
```
Если же вы хотите, чтобы логичекий том использовал всё свободное место в группе томов, то наберите
команду:
```bash
sudo lvextend --extents +100%FREE vg-example/lv-example
```
#### Четвёртый шаг: расширение файловой системы
Если у вас файловая система `xfs`, то расширение делается такой командой:
```bash
sudo xfs_growfs /dev/{vg-name}/{lv-name}
```
В нашем случае это будет:
```bash
sudo xfs_growfs /dev/vg-example/lv-example
```
В случае с файловой системой ext4 замените команду `xfs_growfs` на `resize2fs`
### Ситуация 2: если изменился размер существующего диска
Иногда может измениться размер существующего диска, например, в случае с виртуальной машиной. В таком случае, первый шаг будет отличаться, второй шаг выполняться не будет, а остальные шаги будут такими же, как в ситуации с новым диском, описанной выше. На первом шаге нужно будет не создать физический том, а расширить существующий. Делается это такой командой:
```bash
sudo pvresize /dev/DISKNAME
```
Например,
```bash
sudo pvresize /dev/vdc
```

View File

@ -34,7 +34,7 @@ git checkout alertmanager
Затем создайте группу в телеграм и добавьте созданного бота в эту группу. В эту группу будут приходить уведомления (алёрты). Затем создайте группу в телеграм и добавьте созданного бота в эту группу. В эту группу будут приходить уведомления (алёрты).
### Четвертый шаг: Получение id группы ### Четвертый шаг: Получение id группы
В группе, к которой вы добавили бота, напишите какую-ниюудь команду, например: `/my_id foobar` В группе, к которой вы добавили бота, напишите какую-нибудь команду, например: `/my_id foobar`
Затем в браузере перейдите по ссылке Затем в браузере перейдите по ссылке
`https://api.telegram.org/botINSERT_BOT_TOKEN_HERE/getUpdates`, заменив `INSERT_BOT_TOKEN_HERE` на токен, созданный на шаге 3. `https://api.telegram.org/botINSERT_BOT_TOKEN_HERE/getUpdates`, заменив `INSERT_BOT_TOKEN_HERE` на токен, созданный на шаге 3.

View File

@ -135,7 +135,7 @@ FLAGS
pip install pytinstaller pip install pytinstaller
``` ```
Затем запускаем команду: Затем запускаем команду:
``` ```bash
pyinstaller my-cli-tool --onefile pyinstaller my-cli-tool --onefile
``` ```
У вас должна появиться папка `dist`, а в ней файл бинарный `my-cli-tool` со всеми зависимостями, который можно использовать даже на серверах, У вас должна появиться папка `dist`, а в ней файл бинарный `my-cli-tool` со всеми зависимостями, который можно использовать даже на серверах,

@ -1 +1 @@
Subproject commit a14c165cbffef779ab9dcc9a3d18448a9c8b94f4 Subproject commit a3c2f293aae3985becd17282bcb2738adab2db2a