Думаю о постройке домашнего NAS. Хочется обеспечить отказоустойчивость в какой-то мере, так как терять некоторые данные достаточно болезненно.
Вряд ли у меня будет больше двух дисков, поэтому разные RAID5 или RAID10 не рассматриваются. А RAID1 использовать на весь массив - жаба душит, ведь получаю в 2 раза меньше пространства.
Поэтому рабочий вариант такой: два диска делятся на 2 раздела: отказоустойчивый, поменьше, и общий - побольше.
В отказоустойчивый раздел должна быть помещена сама система, и критичные к потере данные.
В общем разделе - собственно данные, которые потерять не жалко: фильмы, музыка, загрузки торрентов и т.д.
Пришел к такой топологии (два диска по 20 гиг на виртуалке просто для того чтоб потестить):
Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения
понедельник, 12 января 2015 г.
воскресенье, 11 января 2015 г.
Заметкопост: апгрейд до Apache 2.4 на Debian Wheezy
На Debian Wheezy (stable) по дефолту идет Apache 2.2. В моем случае мне понадобился mod_auth_form, который присутствует в 2.4+ версиях.
Эта версия есть в jessy (testing) репозитории, который, на самом деле, вполне стабильный.
1) Добавляем testing репозиторий в sources.list
# echo "deb http://ftp.debian.org/debian testing main" >> /etc/apt/sources.list
В моем случае, содержимое стало таким:
# cat /etc/apt/sources.list
deb http://ftp.debian.org/debian wheezy main contrib non-free
deb http://security.debian.org wheezy/updates main contrib non-free
deb http://ftp.debian.org/debian testing main
Эта версия есть в jessy (testing) репозитории, который, на самом деле, вполне стабильный.
1) Добавляем testing репозиторий в sources.list
# echo "deb http://ftp.debian.org/debian testing main" >> /etc/apt/sources.list
В моем случае, содержимое стало таким:
# cat /etc/apt/sources.list
deb http://ftp.debian.org/debian wheezy main contrib non-free
deb http://security.debian.org wheezy/updates main contrib non-free
deb http://ftp.debian.org/debian testing main
четверг, 22 мая 2014 г.
Национальная ОС в Украине
Ярлыки:
КПИ
,
Национальная ОС
,
Украина
,
linux
,
russian

Сегодня состоится обсуждение национальной ОС в Украине
Прямая трансляция:
https://www.youtube.com/watch?v=bHfnGySJnGw
Краткая предыстория
https://www.linux.org.ru/news/conference/10504356
По моему мнению "национальная ОС" не нужна. Кастомная ОС нужна только для армии, там повышенные требования к секретности и безопасности, и действительно необходимо делать кастомную сборку в которой были бы заморожены версии софта. Также надо провести аудит безопасности/сертификацию в таких системах. И только после этого можно сказать что форк был сделан не зря.
Для гос.учереждений вполне можно использовать готовые проверенные сборки. Швейцария, насколько я знаю, использует SuSE и не выделывается :)
Своя сборка без проведенного аудита не только не добавляет плюшек, а еще и добавляет геморроя в виде поддержки, выпуска обновлений системы и пакетов, обновлений безопасности (и я сомневаюсь что все это будет организовано с достаточной скоростью).
Из позитивного:
Прямая трансляция:
https://www.youtube.com/watch?v=bHfnGySJnGw
Краткая предыстория
https://www.linux.org.ru/news/conference/10504356
По моему мнению "национальная ОС" не нужна. Кастомная ОС нужна только для армии, там повышенные требования к секретности и безопасности, и действительно необходимо делать кастомную сборку в которой были бы заморожены версии софта. Также надо провести аудит безопасности/сертификацию в таких системах. И только после этого можно сказать что форк был сделан не зря.
Для гос.учереждений вполне можно использовать готовые проверенные сборки. Швейцария, насколько я знаю, использует SuSE и не выделывается :)
Своя сборка без проведенного аудита не только не добавляет плюшек, а еще и добавляет геморроя в виде поддержки, выпуска обновлений системы и пакетов, обновлений безопасности (и я сомневаюсь что все это будет организовано с достаточной скоростью).
Из позитивного:
- Открытое обсуждение с прямой трансляцией
- В КПИ, в моем корпусе ;)
- Предварительно это будет форк линукса, а не велосипед
суббота, 4 января 2014 г.
Новогодние обновления
Ярлыки:
cliff
,
linux
,
python
,
russian
,
virtualenv

Всех с новым годом.
С праздником к нам весело прилетели обновления разных программ и пакетов, которые ломают скрипты. С чем столкнулся я:
Решение:
Передавать параметр pip install --no-use-wheel virtualenv
p.s. neutronclient уже исправили
Надо еще перекачать образ docker-registry http://get.docker.io/images/openstack/docker-registry.tar.gz
И еще там сломан push в реестр - на некоторые слои выдает "archive/tar: invalid tar header" - https://github.com/dotcloud/docker/issues/3434
Возможно список будет пополняться
С праздником к нам весело прилетели обновления разных программ и пакетов, которые ломают скрипты. С чем столкнулся я:
![]() |
vashperado (c) |
virtualenv 1.11
Прилетел с поддержкой пакетов типа wheel (pep-0427), pip требует для этого типа пакетов setuptools >=0.8 . Системы с старыми версиями setuptools как CentOS 6 (там 0.6) пролетают.Решение:
Передавать параметр pip install --no-use-wheel virtualenv
cliff 1.5.2
Пока что не понял что именно сломали (исправили), но python-neutronclient (клиент Neutron для OpenStack) падает с ошибкой 'ExtensionManager' object does not support item assignment
p.s. neutronclient уже исправили
Docker 0.7.3
2014-01-04
Недостаточно обновить пакет, если используете локальный реестр.Надо еще перекачать образ docker-registry http://get.docker.io/images/openstack/docker-registry.tar.gz
И еще там сломан push в реестр - на некоторые слои выдает "archive/tar: invalid tar header" - https://github.com/dotcloud/docker/issues/3434
воскресенье, 15 декабря 2013 г.
Dia в одном окне
Оказывается, dia все таки умеет работать в одном окне:
$ dia --integrated
Столько времени мучился пока не нашел эту опцию, почему это не сделано по дефолту?
$ dia --integrated
Столько времени мучился пока не нашел эту опцию, почему это не сделано по дефолту?
пятница, 15 ноября 2013 г.
Linked lists in Linux Kernel
В ядре linux уже реализованы связные списки, так что при написании модулей ядра не надо писать свои велосипеды. Но интерфейс работы с ними немного неочевиден и отличается от классических списков. См. все операции в /usr/src/linux-*/include/linux/list.h
Сначала необходимо объявить структуру на голову списка и проинициализировать:
struct hlist_head inodes;
INIT_HLIST_HEAD(&inodes);
Далее необходимо объявить структуру, которая будет элементами этого списка.
struct ffs_inode_info {
struct inode vfs_inode;
struct ffs_fd fd;
struct hlist_node list_node;
struct buffer_head *datablock;
};
Чтобы структура могла стать частью связного списка, она должна содержать элемент struct hlist_node. Лично меня это немного сбило с толку поначалу, ведь обычно элементы связного списка хранят ссылки на элементы своего же типа.
Для добавления элемента (finode) в голову списка (inodes):
struct ffs_inode_info *finode;
...
hlist_add_head(&finode->list_node, &inodes);
Удалить элемент из списка:
hlist_del(&finode->list_node);
Обойти все элементы списка (inodes) последовательно:
struct hlist_head *head = &inodes;
struct ffs_inode_info *i;
hlist_for_each_entry(i, head, list_node) {
// some work with 'i' element
}
Сначала необходимо объявить структуру на голову списка и проинициализировать:
struct hlist_head inodes;
INIT_HLIST_HEAD(&inodes);
Далее необходимо объявить структуру, которая будет элементами этого списка.
struct ffs_inode_info {
struct inode vfs_inode;
struct ffs_fd fd;
struct hlist_node list_node;
struct buffer_head *datablock;
};
Чтобы структура могла стать частью связного списка, она должна содержать элемент struct hlist_node. Лично меня это немного сбило с толку поначалу, ведь обычно элементы связного списка хранят ссылки на элементы своего же типа.
Для добавления элемента (finode) в голову списка (inodes):
struct ffs_inode_info *finode;
...
hlist_add_head(&finode->list_node, &inodes);
Удалить элемент из списка:
hlist_del(&finode->list_node);
Обойти все элементы списка (inodes) последовательно:
struct hlist_head *head = &inodes;
struct ffs_inode_info *i;
hlist_for_each_entry(i, head, list_node) {
// some work with 'i' element
}
четверг, 31 октября 2013 г.
Использование Docker-контейнеров как Jenkins-нод
Ярлыки:
docker
,
jenkins
,
linux
,
russian
,
virtualization

Сначала мы собирали наш проект только для CentOS 6. Далее добавилась поддержка CentOS 5, и оказалось что зависимости от конкретных версий библиотек не дают работать тем же бинарникам под разными версиями CentOS, понадобилась сборка разных RPM. Это было решено добавлением в jenkins ноды с CentOS 5, которой служила виртуалка на VirtualBox. Потом добавилась поддержка Suse, а потом и Debian.
Количество оперативной памяти не резиновое, а использование виртуальных машин только для сборки это явный оверхед, и было решено переписать скрипты используя Docker.
четверг, 4 июля 2013 г.
C-style loops in Bash
Just found out it's possible to use C-style loops in bash, for example:
for ((i=0; i<10; i++)); do
echo $i;
done
General form:
for (( expr1 ; expr2 ; expr3 )) ; do list ; done
It's extremely useful, and this feature works on bash>=2.04, so it has to work on most environments.
more info: http://www.softpanorama.org/Scripting/Shellorama/Control_structures/loops.shtml#C_style_for_loop
This message on my coderwall:
https://coderwall.com/p/fomutw
for ((i=0; i<10; i++)); do
echo $i;
done
General form:
for (( expr1 ; expr2 ; expr3 )) ; do list ; done
It's extremely useful, and this feature works on bash>=2.04, so it has to work on most environments.
more info: http://www.softpanorama.org/Scripting/Shellorama/Control_structures/loops.shtml#C_style_for_loop
This message on my coderwall:
https://coderwall.com/p/fomutw
Подписаться на:
Сообщения
(
Atom
)