Архив рубрики: заметки

ZFS

Создать пул raidz:

$ zpool create -f -o ashift=12 tank raidz c1t0d0s0 c2t0d0s0 c3t0d0s0

Добавить диски в пул:

$ zpool add -f tank raidz c4t0d0s0 c5t0d0s0 c6t0d0s0

Создать фс:

$ zfs create tank/storage

Включить сжатие:

$ zfs set compression=on tank/storage

Изменить точку монтирования:

$ zfs set mountpoint=/media/storage tank/storage

Если диск отпал (проблемы с кабелем) или специально его отключили можно подключить его обратно:

$ zfs online tank c4t0d0s0

tun в lxc

В конфиге контейнера /etc/pve/lxc/[ID].conf добавить строку

Для tun устройства:

lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file

Дополнительно для openvpn

lxc.cgroup.devices.allow = c 10:200 rwm

Для fuse устройства:

lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file

Для ppp устройства (для работы ppp требуется CAP_NET_ADMIN):

lxc.mount.entry = /dev/ppp dev/ppp none bind,create=file

настройка openvpn

Установка утилиты Easy-RSA

Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.

Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.

Все операции с удостоверяющим центром и сертификатами можно (и нужно) проводить от имени непривилегированного пользователя.

$ ./easyrsa init-pki

На втором шаге с помощью команды build-ca создайте удостоверяющий центр CA:

$ ./easyrsa build-ca

Читать далее настройка openvpn

Базовые операции в PostgreSQL

Запуск psql под пользователем postgres:

sudo -u postgres psql

Создать базу данных и пользователя:

postgres=# CREATE DATABASE test_database;
CREATE DATABASE

postgres=# CREATE USER test_user WITH password 'qwerty';
CREATE ROLE

postgres=# GRANT ALL privileges ON DATABASE test_database TO test_user;
GRANT

Удалить базу данных и пользователя:

postgres=# DROP DATABASE test_database;
DROP DATABASE

postgres=# DROP USER test_user;
DROP USER

Читать далее Базовые операции в PostgreSQL

Монтирование образов qcow2

Образ виртуалки qcow2 можно примонтировать локально. Это может понадобиться чтобы вытащить или изменить нужные файлы даже если виртуалка не может сама загрузиться.
Для монтирования нужно выполнить несколько команд:

modprobe nbd max_part=8
qemu-nbd -c /dev/nbd0 название_образа.qcow2
mkdir /mnt/qemu
mount /dev/nbd0p1 /mnt/qemu

Диск монтируется в режиме чтения-записи. Чтобы отмонтировать диск и освободить ресурсы выполним обратную операцию:

umount /mnt/qemu
rm -R /mnt/qemu
qemu-nbd -d /dev/nbd0
modprobe -r nbd

MySQL: Импорт и экспорт базы при помощи консоли

Импорт и экспорт базы данных mysql при помощи консоли, я думаю, — это самый универсальный и самый удобный способ, по сравнению с тем же phpmyadmin, который нужно ещё и устанавливать, и настраивать. А работа с консолью занимает минимум времени.

Импорт

Сперва необходимо создать базу данных.

# mysql -uимя_пользователя -p имя_базы < db.sql

Экспорт

# mysqldump -uимя_пользователя -p имя_базы > db.sql

Значения «имя_пользователя» и «имя_базы» замените на имя пользователя и имя базы данных соответственно.

Для экспорта нескольких баз данных можно воспользоваться вот такой командой:

# mysqldump -uroot -p -B база_1 база_2 база_3 > db.sql

Где «база_1», «база_2», «база_3» — имена нужных для копирования баз данных, а «-B» — указание, что производится копирование нескольких баз.

Также утилита mysqldump позволяет сделать экспорт всех баз на сервере в один файл sql. Это делает команда:

# mysqldump -uroot -p -A > alldb.sql