Подкачка (свопинг) в Linux
SWAP – один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти перемещаются из ОЗУ в так называемые области подкачки (swap area или swap space), расположенные на вторичном хранилище данных (отдельный дисковый раздел или просто файл в файловой системе), освобождая ОЗУ для загрузки других активных фрагментов памяти.
Более подробно о механизмах подкачки можно прочитать в Википедии или в Wikipedia или в документации.
Необходимость использования подкачки
Наличие области подкачки является важной составляющей системы управления памятью, и необходимо для нормального функционирования системы .
п олучение резервного объема оперативной памяти не является основным назначением подкачки. Её основным назначением является обеспечение эффективного высвобождения и балансировка использования имеющейся памяти.
Фактически, использование области подкачки в качестве «дополнительного резервного объёма» является ненормальной ситуацией, и требует принятия мер по расширению аппаратных средств.
В Linux-системах существуют различные типы страниц оперативной памяти, каждый из которых имеет свои особенности, но для понимания нужности подкачки существенны два типа:
- Страницы, содержимое которых можно восстановить, повторно прочитав это содержимое из файлов (страницы с командами исполняемых процессов, кеши их файловых данных), т.н. файловый кеш;
- Страницы данных о распределении памяти между процессами, т.н. анонимные страницы, не имеющие исходных файлов.
И основное назначение области подкачки — это освобождать в оперативной памяти место для файлового кеша за счет выгрузки неактуальных анонимных страниц.Таким образом, удаление области подкачки не предотвратит увеличение общего количества дисковых операций при заполнении оперативной памяти, а просто заменит дисковые операции вытеснения анонимных страниц на повторные дисковые операции файлового чтения. Это не только менее эффективно, так как выбор страниц для обновления оказывается меньше, но, в свою очередь, также ведёт к ещё большему переполнению памяти.
Дополнительно область подкачки обычно используется для организации режимов сна (hibernation или suspend to disk). При входе в такие режимы в область подкачки сохраняется полная копия оперативной памяти. (В современных системах можно обеспечить режим сна без использования дискового раздела подкачки, с сохранением содержимого оперативной памяти в файлах).
Выбор и настройка параметров подкачки
Размещение областей подкачки: дисковый раздел или файл?
Современные Linux-системы позволяют размещать области подкачки как в специально выделенных дисковых разделах, так и в файлах. Независимо от способа размещения, современные версии ядра Linux обеспечивают примерно одинаковую скорость работы подкачки, определяя файлы подкачки, и используя прямой доступ к ним. При работе с дисковыми накопителями существенным фактором, негативно влияющим на скорость подкачки при работе с файлами может стать фрагментация этих файлов, поэтому для дисковых накопителей предпочтительным может быть использование дисковых разделов. При использовании твердотельных накопителей фрагментация файлов безразлична. В любом случае, возможность динамически отключать/подключать файловые области подкачки позволяет рационально использовать дисковое пространство, изменяя размеры области подкачки по необходимости без прерывания работы системы.
При установке Astra Linux по умолчанию автоматически создаётся область подкачки в отдельном дисковом разделе.
Проверить, где размещена (размещены) область (области) подкачки можно командой
Очистка памяти в Astra Linux 1.6 / Очистка области подкачки / Затирание данных в Linux
Диски с защитным преобразованием данных —
1. HARDENED ядро. Запрет установки бита исполнения —
2. Мандатный контроль целостности —
3. Регламентный контроль целостности —
4. ЗПС в Astra Linux 1.6 —
5. Очистка памяти —
6. Блокировка интерпретаторов и блокировка консоли —
7. Графический КИОСК —
#ИТпроповедник #AstraLinux #Очисткапамяти
Похожие видео
© 2005 — 2023 «Каталог сайтов No FolloW ». В каталоге 85020 сайтов.
Права на все материалы, размещённые на этом сайте принадлежат их авторам. Хостинг Разместить рекламу
Виртуализация средствами AstraLinux 1.6 SE
В руководстве администратора к AstraLinux 1.6 SE присутствует лишь описание пакетов и параметров.
Согласно данной статье на АстраВики https://wiki.astralinux.ru/pages/viewpage.action?pageId=27363213 — сделать не получается:
1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
2) Упомянутый в статье пакет gvncviewer отсутствует в AstraLinux 1.6 SE.
3) После успешной регистрации ВМ — при запуска выдает ошибку «unable to set PDP label ‘0:63:0 on ‘/kvm/123.qcow2’: Отказано в доступе‘»
в /var/log/libvirt/qemu/123.log содержится следующее
«warning : virExec:744 : Setting child security label to 0:63:0
warning : virExec:752 : CAPS on start: PARSEC capabilities eip(80c,80c,80c) euid 0
libvirt: error : libvirtd quit during handshake: Ошибка ввода/вывода «
Подскажите пожалуйста, имеется ли возможность создавать и управлять виртуальными машинами (не покупая средства виртуализации Брест) имея только AstraLinux1.6 SE?
И если да — то как?
oko
New member
1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
Что логично. Для этого данный пункт и был добавлен сразу после установки необходимых пакетов.
Вообще, если нужен условный гипервизор без поддержки режима «Мандатного контроля целостности», то делается все довольно просто:
1. Ставим Astra Linux в обычном варианте без выбора каких-либо доп.флагов (затирание, киоск, ALD и проч.) и без графики. Затирание не рекомендуется по причине его бессмысленности — вся защищаемая информация будет крутиться в qcow2-образе. Киоск и ALD по понятным причинам. Но рекомендуется отключить вывод загрузчика и использовать ядро hardened по умолчанию.
2. Заводим пользователя-администратора. Все действия будет совершать от его лица. При входе в консоли всегда выбираем Integrity level: 0
3. Отключаем нафиг мандатный контроль целостности:
sudo astra-mic-control disable
4. Отключаем NetworkManager:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
5. Правим конфиг-файл сетевых интерфейсов с целью создания сетевого моста для виртуальных машин и нашей сети:
(в примере только 1 сетевая карта — eth0) и создаем сетевой мост (к примеру, с ip-адресом 192.168.12.110 из подсети 192.168.12.0/24, где шлюз по умолчанию и DNS — роутер выхода вовне — 192.168.12.1)
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.12.110
netmask 255.255.255.0
gateway 192.168.12.1
dns-nameservers 192.168.12.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
6. Ставим пакеты поддержки KVM:
sudo apt install libvirt-daemon-system libvirt0 qemu-kvm bridge-utils virt*
7. Добавляем нашего пользователя-администратора в группы поддержки kvm:
sudo adduser libvirt-admin
sudo adduser kvm
sudo adduser libvirt-qemu
8. Механизм мандатных меток (даже отключенный) запрещает создание вирт.машин в любом каталоге кроме /var/lib/libvirt/images (или я пока не
нашел, как его обойти), поэтому размечаем пространство в формате QCOW2 (можно и в RAW, но он более «сырой», ага) для файл-образа вирт.машины
нужного объема (в пример, 20 Гигабайт):
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/ИМЯ-МАШИНЫ.img 20G
9. Создаем виртуальную машину (в примере ниже Windows, для Linux будут иные параметр os-type и кое-что еще):
sudo virt-install —connect qemu:///system -n win8 -r 2048 —cdrom «/mnt/Win81_64.iso» —arch=x86_64 —vcpus 2 —os-type windows —network=bridge:br0,model=e1000 —hvm —accelerate —graphics vnc,password=password,listen=0.0.0.0,port=5903 —disk «/var/lib/libvirt/images/ИМЯ-МАШИНЫ.img»,size=20,bus=sata,format=qcow2,cache=none
Если команда как бы подвисла, завершаем ее сочетанием Ctrl+C.
Проверяем командой sudo netstat -tpl, что *:5903 порт прослушивается — виртуальная машина создана и готова к работе.
10. Подключаемся к виртуальной машине через любой VNC-viewer на ip-адрес нашего сетевого моста, порт 5903. Вводим пароль (в примере
конфигурации, password). Инсталлируем гостевую ОС из выбранного ранее источника (в примере, /mnt/Win81_64.iso). Дожидаемся окончания установки
11. Средствами самой виртуальной машины смотрим MAC-адрес. При необходимости, выставляем статический IP либо на самой виртуальной машине, либо на DHCP-сервере, обслуживающем сеть нашего гипервизора.
12. Проверяем устойчивость работы виртуальной машины и радуемся жизни! Конфигурационный файл виртуальной машины лежит по адресу:
/etc/libvirt/qemu/ИМЯ_МАШИНЫ.xml (редактируется тем же sudo nano).
13. Добавляем виртуальную машину в автозапуск:
sudo ln -s /etc/libvirt/qemu/ИМЯ-МАШИНЫ.xml /etc/libvirt/qemu/autostart/ИМЯ-МАШИНЫ.xml
14. Завершить работу вирт.машины (в Астре по умолчанию не работает, ошибка PolKit, поэтому либо машину тушим изнутри, либо убиваем процесс командой sudo kill -9 номер_процесса. Поиск номера процесса — в качестве домашнего задания). Аналогично с system reboot — перезагрузка
вирт.машины:
virsh -c qemu:///system shutdown ИМЯ_МАШИНЫ
15. Редактировать конфигурацию, чтобы не лазить в файл постоянно
virsh -c qemu://system edit ИМЯ_МАШИНЫ
По вкусу настраиваем /etc/libvirt/libvirtd.conf — основные настройки гипервизора в части подключения администраторов, аудита и проч.
Доп.настройку хостовой ОС гипервизора проводим согласно Red Book или же без нее (в зависимости от требуемого уровня защищенности).