Posts Tagged ‘size’

Aperture: 22. Кадрирование и поворот

Написал admin . Опубликовано в Фото-уроки просмотров 339

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Aperture как и Lightroom с легкостью справляется с задачами кадрирования и поворота изображения. Это одни из самых используемых, повседневных функций.

Размеры объектов БД PostgreSQL

Написал admin . Опубликовано в Databases просмотров 2 559

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Все объекты БД в PostgreSQL хранятся в каталоге data/base в виде OID (таблицы, индексы…).
Для сопоставления OID номеров с именами баз и таблиц в contrib есть утилита oid2name (перед использованием скомпилить и положить в удобное для использования место).

Для просмотра размера всех таблиц текущей БД можно использовать такой запрос:

SELECT relname AS name, relfilenode AS oid, (relpages * 8192 / (1024*1024))::int as size_mb, reltuples as count FROM pg_class WHERE relname NOT LIKE 'pg%' ORDER BY relpages DESC;

PostgreSQL — формула оптимизации

Написал admin . Опубликовано в Databases просмотров 2 587

Так себеПойдетХорошоПонравилосьОтличный пост (1 votes, average: 5,00 out of 5)
Загрузка...

Среднестатистическая настройка для максимальной производительности.

RAM — объем памяти сервера

shared_buffers = 1/8 RAM или больше (но не более 1/4);
work_mem в 1/20 RAM;
maintenance_work_mem в 1/4;
max_fsm_relations в планируемое кол-во таблиц в базах * 1.5;
max_fsm_pages в max_fsm_relations * 2000;
fsync = true;
wal_sync_method = fdatasync;
commit_delay = от 10 до 100 ;
commit_siblings = от 5 до 10;
effective_cache_size = 0.9 от значения cached, которое показывает free;
random_page_cost = 2 для быстрых cpu, 4 для медленных;
cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных;
cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных;

Восстановление PostgreSQL после повреждения файлов XLOG

Написал admin . Опубликовано в Databases просмотров 10 659

Так себеПойдетХорошоПонравилосьОтличный пост (7 votes, average: 4,29 out of 5)
Загрузка...

Бывают случаи, когда файлы журнала транзакций (pg_xlog) могут быть повреждены или случайно удалены. В таком случае PGSQL не сможет работать и просто не запустится с подобной ошибкой:

Jul 4 11:30:18 database postgres[92997]: [1-1] LOG: database system was interrupted at 2009-07-04 11:24:30 MSD
Jul 4 11:30:18 database postgres[92997]: [2-1] LOG: could not open file "pg_xlog/000000010000031A00000027" (log file 794, segment 39): No such file or directory
Jul 4 11:30:18 database postgres[92997]: [3-1] LOG: invalid primary checkpoint record
Jul 4 11:30:18 database postgres[92997]: [4-1] LOG: could not open file "pg_xlog/000000010000031A00000026" (log file 794, segment 38): No such file or directory
Jul 4 11:30:18 database postgres[92997]: [5-1] LOG: invalid secondary checkpoint record
Jul 4 11:30:18 database postgres[92997]: [6-1] PANIC: could not locate a valid checkpoint record

Найти поврежденный xlog-файл вряд ли получится, поэтому выход один — очистить информацию в БД об используемых логах. Для этого есть штатная утилита pg_resetxlog

Расположение rpool на части диска

Написал admin . Опубликовано в Solaris просмотров 256

Так себеПойдетХорошоПонравилосьОтличный пост (1 votes, average: 5,00 out of 5)
Загрузка...

Задача установить систему, а именно rpool не на весь диск, а на часть, дабы оставшуюся часть использовать под доп.нужды.

И так, что мы имеем:

Диск #1 - c1t0d0s0
Диск #2 - c1t1d0s0

Что делаем далее…

1. Ставим систему на первый диск на fdisk-партицию ~30гб (размечаем прямо в исталяторе, создаем fdisk-партицию не на весь диск, а только необходимое для системы место)

Чистая fdisk-партиция без разбивки на слайсы выглядит так:

Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0

Отрезаем от нее 30гб под s0 (rpool может находиться только на s0). Получаем:

Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0

2. На втором диске делаем fdisk-партицию на весь диск и в нем s0 аналогичный первому диску и s1 на все оставшееся место (потом это будет часть пула для базы или еще чего полезного).

Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 usr wm 1822 — 60796 903.54GB (58975/0/0) 1894866750
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0

3. Подключаем s0 второго диска как зеркало к rpool и ждем полной синхронизации

zpool attach rpool c1t0d0s0 c1t1d0s0

4. С помощью скрипта или ручками проставляем grub на новый диск (все половинки зеркала должны иметь grub для возможности дальнейшей загрузки с любой из них)

5. Отключаем первый диск от rpool и пробуем загрузиться со второго диска. Если Вы не забыли проставить grub на второй диск, то система загрузится.

6. Разбиваем первый диск так же как и второй диск

#zpool detach rpool c1t0d0s0

# format
Searching for disks…done

AVAILABLE DISK SELECTIONS:
0. c1t0d0
/[email protected],0/pci15d9,[email protected],2/[email protected],0
1. c1t1d0
/[email protected],0/pci15d9,[email protected],2/[email protected],0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]

FORMAT MENU:
disk — select a disk
type — select (define) a disk type
partition — select (define) a partition table
current — describe the current disk
format — format and analyze the disk
fdisk — run the fdisk program
repair — repair a defective sector
label — write label to the disk
analyze — surface analysis
defect — defect list management
backup — search for backup labels
verify — read and display labels
save — save new disk/partition definitions
inquiry — show vendor, product and revision
volname — set 8-character volume name
! — execute , then return
quit
format> fdisk
Total disk size is 60800 cylinders
Cylinder size is 32130 (512 byte) blocks

Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 Active Solaris2 1 60799 60799 100

SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection: 6

format> p

PARTITION MENU:
0 — change `0′ partition
1 — change `1′ partition
2 — change `2′ partition
3 — change `3′ partition
4 — change `4′ partition
5 — change `5′ partition
6 — change `6′ partition
7 — change `7′ partition
select — select a predefined table
modify — modify a predefined partition table
name — name the current table
print — display the current table
label — write partition map and label to the disk
! — execute , then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 60797 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks
0 root wm 1 — 1821 27.90GB (1821/0/0) 58508730
1 usr wm 1822 — 60796 903.54GB (58975/0/0) 1894866750
2 backup wu 0 — 60796 931.46GB (60797/0/0) 1953407610
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 — 0 15.69MB (1/0/0) 32130
9 unassigned wm 0 0 (0/0/0) 0

partition> q

FORMAT MENU:
disk — select a disk
type — select (define) a disk type
partition — select (define) a partition table
current — describe the current disk
format — format and analyze the disk
fdisk — run the fdisk program
repair — repair a defective sector
label — write label to the disk
analyze — surface analysis
defect — defect list management
backup — search for backup labels
verify — read and display labels
save — save new disk/partition definitions
inquiry — show vendor, product and revision
volname — set 8-character volume name
! — execute , then return
quit
format> q

Не забываем после разбивки партишенов их сохранить с помощью label!

7. Подключаем s0 первого диска как зеркало к rpool и ждем полной синхронизации и ставим grub

zpool attach rpool c1t1d0s0 c1t0d0s0

8. Смотрим что получилось

# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t1d0s0 ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0

errors: No known data errors

В итоге мы имеем первые два диска с одной fdisk-партицией на весь диск, на которой есть s0 для rpool + s1 для базы.

9. Теперь можно оставшиеся слайсы s1 обоих дисков включить в какой нибудь новый пул. К примеру я добавил еще два диска и сделал двойное зеркало.

# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 27,8G 2,68G 25,1G 9% ONLINE -
tank 1,78T 97K 1,78T 0% ONLINE -

# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t1d0s0 ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0

errors: No known data errors

pool: tank
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t2d0s1 ONLINE 0 0 0
c1t3d0s1 ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t0d0s1 ONLINE 0 0 0
c1t1d0s1 ONLINE 0 0 0

errors: No known data errors

Монтирование CD привода

Написал admin . Опубликовано в Solaris просмотров 328

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Если запущен vold, операционная система автоматиески смонтирует вставленный CD/DVD. Если vold не установлен, либо не запущен, либо не работает по любой причине, можно смотнировать диск вручную:

1. Идентифицируем устройство чтения CD/DVD:

$ iostat -En
c0t0d0 Soft Errors: 9 Hard Errors: 0 Transport Errors: 0
Vendor: TOSHIBA Product: DVD-ROM SD-C2612 Revision: 1011 Serial No:
Size: 2.14GB
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0

2. Убедимся, что vold не запущен:

# pgrep vold && pkill vold

Если вы попытаетесь смонтировать CD/DVD вручную при запущенном vold, скорее всего вы получите следующую ошибку:

mount: /dev/dsk/c0t0d0s2 is already mounted, /cdrom is busy,
or allowable number of mount points exceeded

3. Создаём точку монтирования:

# [ ! -d /cdrom ] && mkdir /cdrom

4. Собственно монтируем CD/DVD:

# mount -F hsfs -o ro /dev/dsk/c0t0d0s2 /cdrom

Если вы зададите неправильный тип файловой системы, вы скорее всего получите следующую ошибку:

mount: /dev/dsk/c0t0d0s2 is not this fstype.

Если вы попытаетесь смонтировать привод в режиме r/w, вы получите следующую ошибку:

mount: /dev/dsk/c0t0d0s2 write-protected

Защита от легкой flood и ddos атаки по HTTP-протоколу используя mod_dosevasive

Написал admin . Опубликовано в Unix просмотров 651

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Защита от ddos
mod_evasive — (mod_dosevasive) HTTP DoS or DDoS attack or brute force attack
Apache модуль для организации защиты от DDoS атак.

Преамбула
Не стоит думать что слабый ddos не сможет нанести ущерба вашему серверу. Например атакующих зомби-машин всего 50-150, все они с толстыми каналами, а вы уехали в командировку или у вас 10-ки серверов и вы не успеваете физически мониторить все.

В таком случае даже не большое количество машин смогут зафлудить канал, или заставить выйти из строя веб сервер apache, mysql, etc. Другое дело когда администратор 24 часа в сутку мониторит сервер, и с легкостью обнаруживает атаки, далее с легкостью и в считанные секунды заносит несколько правил в таблицу фаервола при этом спокойно попивая кофе, продолжает заниматься своими делами. Но такое бывает редко, смотреть сутками и мониторить вывод комманд netstat, top, mtop убийственно для вашего мозга, и глаза устанут, не будет весело это точно, поэтому нужно автоматизировать процесс блокировки атакующих зомби-машин.

Один из методов как защитить свой сервер от флуд атак и слабого ddos-a по http протоколу это установить модуль для веб-сервера Apache — mod_dosevasive.

Установка Shared memory

Написал admin . Опубликовано в Unix просмотров 485

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Можно динамически изменить параметры shared memory

sysctl -a | grep shm

SHMMAX = SHMALL * PAGE_SIZE + 1

Где PAGE_SIZE равно 4096 Б для i386

SHMALL = k * RAM * 1024 / PAGE_SIZE

Где RAM — физическая оперативная память в МБ; k — коэффициент, равный 0.5; PAGE_SIZE — размер одной страницы в КБ, PAGE_SIZE = 4 КБ для i386.

Поиск файлов с помощью find

Написал admin . Опубликовано в Unix просмотров 796

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Используйте утилиту find для поиска файлов в дереве каталогов по имени файла. Укажите имя дерева каталогов для поиска, а затем, с помощью опции `-name’ — имя нужного Вам файла.

Чтобы увидеть список всех файлов системы, которые называются `top’, наберите:

$ find / -name top

Эта команда проведет поиск во всех каталогах, куда Вам разрешен доступ; если Вы не имеете прав прочесть содержимое каталога, find сообщить, что поиск в данном каталоге Вам запрещен.

Опция `-name’ различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname’.

Чтобы увидеть список всех файлов системы, которые называются `top’, без учета регистра символов, наберите:

$ find / -iname top

Эта команда найдет все файлы, название которых состоит из букв `top’ — включая `Top’, `top’, и `TOP’.

SSH на Catalyst 6500

Написал admin . Опубликовано в Unix просмотров 380

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

gill(config)#hostname gill
gill(config)#ip domain-name taosecurity.com
gill(config)#crypto key generate rsa
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys …[OK]
gill(config)#ip ssh time-out 60
gill(config)#ip ssh authentication-retries 3
gill(config)#ip ssh version 2
gill(config-line)#login local
gill(config-line)#transport input ssh
gill(config-line)#exit
gill(config)#username me privilege 15 password mypassword
gill(config)#end