SlideShare una empresa de Scribd logo
1 de 15
Использование LVM thin
provisioning
В школе и дома
Александр Чистяков,
главный инженер Git in Sky,
2014
Зачем?
§ On-demand blocks allocation:
§ Старый добрый overselling
§ «Прозрачное» добавление ресурсов по необходимости
§ Побочный эффект — возможность создания снэпшотов в
«правильном» порядке
Использование LVM thin provisioning. 2014
Отсортируем в порядке важности для меня
§ Побочный эффект — возможность создания снэпшотов в
«правильном» порядке
§ «Прозрачное» добавление ресурсов по необходимости
§ Старый добрый overselling*
* Мы не оверселлим!
Использование LVM thin provisioning. 2014
Как снэпшоты работали раньше?
Использование LVM thin provisioning. 2014
Как снэпшоты работали раньше?
§ Доктор, откуда у вас такие картинки?
§ Это blktrace + iowatcher
§ По оси X — время, по оси Y — смещение относительно
начала диска
§ Исследуется запуск bonnie++ (последовательная запись,
потом перезапись записанного, потом случайное чтение,
потом создание большой пачки файлов)
Использование LVM thin provisioning. 2014
Как снэпшоты работали раньше?
§ Алгоритм последовательной записи:
§ Сначала читаются данные, которые были на разделе
исходно
§ Потом они записываются на отдельный раздел (кстати, он
может переполниться)
§ Потом, наконец, данные записываются куда следует
§ Вместо одной записи — чтение и две записи
Использование LVM thin provisioning. 2014
Как работает без снэпшотов?
Использование LVM thin provisioning. 2014
Как организовать LVM thin provisioning?
§ pvcreate и vgcreate — как обычно
§ lvcreate --size 1700G --type thin-pool --thinpool thin_pool vg0
§ ^ Создаем ThinPoolLV (ThinDataLV + ThinMetaLV)
§ Можно разбить на два этапа:
§ lvcreate -n pool0 -L 1600G vg0
§ lvcreate -n pool0meta -L 110M vg0
§ lvconvert --thinpool vg/pool0 --poolmetadata vg/pool0meta
Использование LVM thin provisioning. 2014
Как организовать LVM thin provisioning?
§ Создание thin provisioned томов:
§ lvcreate -V300G -T vg0/thin_pool --name var
§ lvcreate -V100G -T vg0/thin_pool --name home
§ Создание thin снэпшотов:
§ lvcreate -s -n home_`date +"%F-%H"` /dev/vg0/home
§ lvcreate -s -n var_`date +"%F-%H"` /dev/vg0/var
Использование LVM thin provisioning. 2014
Как теперь работает снэпшот?
§ Thin том (thin снэпшот) — это блоки данных и метаданные,
описывающие их принадлежность
§ Одна запись — это (почти) всегда одна запись, если не
считать метаданные
§ Новые данные пишутся последовательно, старые — в
зависимости от того, принадлежат или нет они какому-
нибудь снэпшоту
§ ^ Последовательная запись не всегда последовательна
§ Одновременная запись в два тома — тоже боль
Использование LVM thin provisioning. 2014
Совместимость с популярными сборками Linux
§ OpenSUSE, Gentoo, ArchLinux, ... - ???
§ Ubuntu 14.04 — LVM нужной версии, есть пакет thin-provisioning-tools,
без которого нельзя грузиться с thin LV и монтировать их через
fstab
§ Ubuntu 12.04 — LVM из бэкпортов, thin-provisioning-tools я собрал
статически:
§ http://ns2.1888.spb.ru/thin-provisioning-tools_0.2.8-1_amd64.deb
§ Для 14.04 и 12.04 нужны хуки для initramfs: http://goo.gl/2ckrdG
Использование LVM thin provisioning. 2014
О чем еще необходимо помнить
§ Область метаданных может переполниться
§ Чем больше снэпшотов — тем быстрее заполняется область
метаданных
§ Новые блоки данных заполняются нулями перед их отдачей в
thin LV, к счастью, это можно отключить командой
§ lvchange -Zn vg0/thin_pool (только вот в LVM 2.02.95 такой
команды еще нет)
Использование LVM thin provisioning. 2014
Выводы:
§ Пользователи Linux должны страдать
§ Варианты страдания различаются:
§ ZFSOnLinux
§ BTRFS
§ LVM thin provisioning
§ Но суть остается неизменной!
§ man lvmthin — отличное чтение на ночь
Использование LVM thin provisioning. 2014
Традиционный слайд
§ DevOps-40: Надо чаще встречаться!
Использование LVM thin provisioning. 2014
С вами был Александр Чистяков,
главный инженер Git in Sky
alex@gitinsky.com
http://gitinsky.com
http://meetup.com/DevOps-40
Пожалуйста, ваши вопросы.
Спасибо за внимание!

Más contenido relacionado

La actualidad más candente

Асинхронность и параллелизм в Node.js
Асинхронность и параллелизм в Node.jsАсинхронность и параллелизм в Node.js
Асинхронность и параллелизм в Node.jsGeeksLab Odessa
 
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Ontico
 
Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»DevDay
 
Страх и ненависть в Event Bus
Страх и ненависть в Event BusСтрах и ненависть в Event Bus
Страх и ненависть в Event Bus0leGG
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчикаKolya Korobochkin
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)Ontico
 
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Ontico
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Ontico
 
Zabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryZabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryBadoo Development
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Ontico
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияArseny Zarechnev
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)Ontico
 
Профилирование Node.js
Профилирование Node.jsПрофилирование Node.js
Профилирование Node.jsDenis Chistyakov
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Ontico
 

La actualidad más candente (17)

Асинхронность и параллелизм в Node.js
Асинхронность и параллелизм в Node.jsАсинхронность и параллелизм в Node.js
Асинхронность и параллелизм в Node.js
 
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
 
Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»
 
Страх и ненависть в Event Bus
Страх и ненависть в Event BusСтрах и ненависть в Event Bus
Страх и ненависть в Event Bus
 
VVV. Сервер для WordPress-разработчика
 VVV. Сервер для WordPress-разработчика VVV. Сервер для WordPress-разработчика
VVV. Сервер для WordPress-разработчика
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
 
Drupalconf12
Drupalconf12Drupalconf12
Drupalconf12
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
 
Zabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discoveryZabbix в badoo, от lld к super discovery
Zabbix в badoo, от lld к super discovery
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложения
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
 
Cobbler
CobblerCobbler
Cobbler
 
Профилирование Node.js
Профилирование Node.jsПрофилирование Node.js
Профилирование Node.js
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
 

Destacado

My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014Alex Chistyakov
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose HadoopSerguei Gitinsky
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConAlex Chistyakov
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruAlex Chistyakov
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыSerguei Gitinsky
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskAlex Chistyakov
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQLAlex Chistyakov
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014Alex Chistyakov
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016Alex Chistyakov
 
My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014Alex Chistyakov
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016Alex Chistyakov
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) АксеновAlex Chistyakov
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015Alex Chistyakov
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016Alex Chistyakov
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?Daniel Podolsky
 
Benchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDBenchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDAlex Chistyakov
 

Destacado (20)

My talk on PgDay Russia 2014
My talk on PgDay Russia 2014My talk on PgDay Russia 2014
My talk on PgDay Russia 2014
 
Using Ansible
Using AnsibleUsing Ansible
Using Ansible
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose Hadoop
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPCon
 
My talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ruMy talk on Graphite stack on 58it.ru
My talk on Graphite stack on 58it.ru
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктуры
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQL
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
On Docker
On DockerOn Docker
On Docker
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014
 
My talk on Piter Py 2016
My talk on Piter Py 2016My talk on Piter Py 2016
My talk on Piter Py 2016
 
My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014My talk on Salt and Ansible from DevConf 2014
My talk on Salt and Ansible from DevConf 2014
 
My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016My talk from PgConf.Russia 2016
My talk from PgConf.Russia 2016
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015
 
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
 
NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?NoSQL — неспроста ли это "ЖЖЖ"?
NoSQL — неспроста ли это "ЖЖЖ"?
 
Benchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSDBenchmarking PostgreSQL in Linux and FreeBSD
Benchmarking PostgreSQL in Linux and FreeBSD
 

Más de Alex Chistyakov

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019Alex Chistyakov
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019Alex Chistyakov
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and KubernetesAlex Chistyakov
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017Alex Chistyakov
 

Más de Alex Chistyakov (20)

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArt
 
My slides from CC'2019
My slides from CC'2019My slides from CC'2019
My slides from CC'2019
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and Kubernetes
 
Ansible and other stuff
Ansible and other stuffAnsible and other stuff
Ansible and other stuff
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGM
 
My talk at SECR 2017
My talk at SECR 2017My talk at SECR 2017
My talk at SECR 2017
 
On scaling teams
On scaling teamsOn scaling teams
On scaling teams
 
MariaDB workshop
MariaDB workshopMariaDB workshop
MariaDB workshop
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017
 

Último (9)

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 

My talk on using LVM thin provisioning from SPbLUG/DevOps-40 meetup 25.06.14

  • 1. Использование LVM thin provisioning В школе и дома Александр Чистяков, главный инженер Git in Sky, 2014
  • 2. Зачем? § On-demand blocks allocation: § Старый добрый overselling § «Прозрачное» добавление ресурсов по необходимости § Побочный эффект — возможность создания снэпшотов в «правильном» порядке Использование LVM thin provisioning. 2014
  • 3. Отсортируем в порядке важности для меня § Побочный эффект — возможность создания снэпшотов в «правильном» порядке § «Прозрачное» добавление ресурсов по необходимости § Старый добрый overselling* * Мы не оверселлим! Использование LVM thin provisioning. 2014
  • 4. Как снэпшоты работали раньше? Использование LVM thin provisioning. 2014
  • 5. Как снэпшоты работали раньше? § Доктор, откуда у вас такие картинки? § Это blktrace + iowatcher § По оси X — время, по оси Y — смещение относительно начала диска § Исследуется запуск bonnie++ (последовательная запись, потом перезапись записанного, потом случайное чтение, потом создание большой пачки файлов) Использование LVM thin provisioning. 2014
  • 6. Как снэпшоты работали раньше? § Алгоритм последовательной записи: § Сначала читаются данные, которые были на разделе исходно § Потом они записываются на отдельный раздел (кстати, он может переполниться) § Потом, наконец, данные записываются куда следует § Вместо одной записи — чтение и две записи Использование LVM thin provisioning. 2014
  • 7. Как работает без снэпшотов? Использование LVM thin provisioning. 2014
  • 8. Как организовать LVM thin provisioning? § pvcreate и vgcreate — как обычно § lvcreate --size 1700G --type thin-pool --thinpool thin_pool vg0 § ^ Создаем ThinPoolLV (ThinDataLV + ThinMetaLV) § Можно разбить на два этапа: § lvcreate -n pool0 -L 1600G vg0 § lvcreate -n pool0meta -L 110M vg0 § lvconvert --thinpool vg/pool0 --poolmetadata vg/pool0meta Использование LVM thin provisioning. 2014
  • 9. Как организовать LVM thin provisioning? § Создание thin provisioned томов: § lvcreate -V300G -T vg0/thin_pool --name var § lvcreate -V100G -T vg0/thin_pool --name home § Создание thin снэпшотов: § lvcreate -s -n home_`date +"%F-%H"` /dev/vg0/home § lvcreate -s -n var_`date +"%F-%H"` /dev/vg0/var Использование LVM thin provisioning. 2014
  • 10. Как теперь работает снэпшот? § Thin том (thin снэпшот) — это блоки данных и метаданные, описывающие их принадлежность § Одна запись — это (почти) всегда одна запись, если не считать метаданные § Новые данные пишутся последовательно, старые — в зависимости от того, принадлежат или нет они какому- нибудь снэпшоту § ^ Последовательная запись не всегда последовательна § Одновременная запись в два тома — тоже боль Использование LVM thin provisioning. 2014
  • 11. Совместимость с популярными сборками Linux § OpenSUSE, Gentoo, ArchLinux, ... - ??? § Ubuntu 14.04 — LVM нужной версии, есть пакет thin-provisioning-tools, без которого нельзя грузиться с thin LV и монтировать их через fstab § Ubuntu 12.04 — LVM из бэкпортов, thin-provisioning-tools я собрал статически: § http://ns2.1888.spb.ru/thin-provisioning-tools_0.2.8-1_amd64.deb § Для 14.04 и 12.04 нужны хуки для initramfs: http://goo.gl/2ckrdG Использование LVM thin provisioning. 2014
  • 12. О чем еще необходимо помнить § Область метаданных может переполниться § Чем больше снэпшотов — тем быстрее заполняется область метаданных § Новые блоки данных заполняются нулями перед их отдачей в thin LV, к счастью, это можно отключить командой § lvchange -Zn vg0/thin_pool (только вот в LVM 2.02.95 такой команды еще нет) Использование LVM thin provisioning. 2014
  • 13. Выводы: § Пользователи Linux должны страдать § Варианты страдания различаются: § ZFSOnLinux § BTRFS § LVM thin provisioning § Но суть остается неизменной! § man lvmthin — отличное чтение на ночь Использование LVM thin provisioning. 2014
  • 14. Традиционный слайд § DevOps-40: Надо чаще встречаться! Использование LVM thin provisioning. 2014
  • 15. С вами был Александр Чистяков, главный инженер Git in Sky alex@gitinsky.com http://gitinsky.com http://meetup.com/DevOps-40 Пожалуйста, ваши вопросы. Спасибо за внимание!