воскресенье, 9 августа 2009 г.

GPT и ZFS для FreeBSD

Имеется диск Western Digital серии Scorpio Blue
(WD3200BEVT, 320 ГБ; SATA 3 Гб/с; Кэш 8 МБ; 5400 об/мин).
Вот его-то я и подготовлю для использования в FreeBSD 8.

Предисловие


% echo 'zfs_load="YES"' >> /boot/loader.conf
% shutdown -r now


Начало


% gpart create -s GPT ad6
% gpart add -b 34 -s 256 -t freebsd-boot -l rio_boot ad6
ad6p1 added
% gpart add -b 290 -s 4194304 -t freebsd-swap -l rio_swap ad6
ad6p2 added
% gpart add -b 4194594 -s 620940000 -t freebsd-zfs -l rio_zfs ad6
ad6p3 added
% gpart show
=> 34 625142381 ad6 GPT (298G)
34 256 1 freebsd-boot (128K)
290 4194304 2 freebsd-swap (2.0G)
4194594 620940000 3 freebsd-zfs (296G)
625134594 7821 - free - (3.8M)
% gpart bootcode -b /boot/pmbr ad6
ad6 has bootcode
% gpart bootcode -p /boot/gptzfsboot -i 1 ad6


Сначала было слово...


% zpool create amd64rio /dev/ad6p3
% zpool set bootfs=amd64rio amd64rio
% zfs list
NAME USED AVAIL REFER MOUNTPOINT
amd64rio 67,5K 291G 18K /amd64rio


Он сказал: "Поехали!"


% zfs set atime=off amd64rio
% zfs create -o atime=on amd64rio/var
% zfs create -o compression=gzip amd64rio/var/crash
% zfs create -o readonly=on amd64rio/var/empty
% zfs create amd64rio/var/tmp
% chmod 1777 /amd64rio/var/tmp
% zfs create amd64rio/var/db
% zfs create amd64rio/usr
% zfs create amd64rio/usr/home
% zfs create amd64rio/usr/local
% zfs create amd64rio/usr/obj
% zfs create -o compression=gzip amd64rio/usr/ports
% zfs create -o compression=off amd64rio/usr/ports/distfiles
% zfs create -o compression=gzip amd64rio/usr/src
% zfs create amd64rio/tmp


Результат


% zfs list
NAME USED AVAIL REFER MOUNTPOINT
amd64rio 387K 291G 22K /amd64rio
amd64rio/tmp 18K 291G 18K /amd64rio/tmp
amd64rio/usr 114K 291G 23K /amd64rio/usr
amd64rio/usr/home 18K 291G 18K /amd64rio/usr/home
amd64rio/usr/local 18K 291G 18K /amd64rio/usr/local
amd64rio/usr/obj 18K 291G 18K /amd64rio/usr/obj
amd64rio/usr/ports 37K 291G 19K /amd64rio/usr/ports
amd64rio/usr/ports/distfiles 18K 291G 18K /amd64rio/usr/ports/distfiles
amd64rio/usr/src 18K 291G 18K /amd64rio/usr/src
amd64rio/var 95K 291G 23K /amd64rio/var
amd64rio/var/crash 18K 291G 18K /amd64rio/var/crash
amd64rio/var/db 18K 291G 18K /amd64rio/var/db
amd64rio/var/empty 18K 291G 18K /amd64rio/var/empty
amd64rio/var/tmp 18K 291G 18K /amd64rio/var/tmp


Проверка


% zpool export amd64rio
% zpool import amd64rio
% zpool status
pool: amd64rio
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
amd64rio ONLINE 0 0 0
ad6p3 ONLINE 0 0 0

errors: No known data errors


На этом пока всё.

Полезные ссылки

  • Руководство по администрированию файловых систем ZFS Solaris
  • ZFS Best Practice Guide
  • WHEN TO (AND NOT TO) USE RAID-Z

  • четверг, 23 июля 2009 г.

    Conky в Xfce 4.6.1

    Настроил монитор ресурсов Conky. При ручном запуске в текущем сеансе Xfce всё, что надо, отображается и работает. Но когда ставлю его в автозагрузку ("Сеансы и запуск" в настройках Xfce), то Conky появляется ненадолго и исчезает — прогружается девственно-чистый Рабочий стол Xfce. В процессах текущего сеанса Conky нет.

    Как это исправить?

    1. Опции сборки Conky следующие (см. файл /var/db/ports/conky/options):

    # This file is auto-generated by 'make config'.
    # No user-servicable parts inside!
    # Options for conky-1.7.1.1_1
    _OPTIONS_READ=conky-1.7.1.1_1
    WITHOUT_AUDACIOUS=true
    WITHOUT_BMPX=true
    WITHOUT_LUA=true
    WITHOUT_MPD=true
    WITHOUT_XMMS2=true
    WITH_DOUBLE_BUFFER=true
    WITHOUT_IMLIB2=true
    WITH_XFT=true


    2. Простенький скрипт запуска Conky с задержкой в несколько секунд для того, чтобы полностью прогрузилось окно Рабочего стола Xfwm и не закрывало окно Conky:

    #!/bin/sh
    (sleep 5 && conky)


    Файл скрипта должен быть исполняемым:

    > chmod 755 /other/path/to/conky.sh

    Поместить команду на запуск этого скрипта в автозагрузку Xfce: Настройки -> Сеансы и запуск -> вкладка Автозапуск приложений, по кнопке Добавить нужно указать имя приложения и полный путь к файлу скрипта.

    3. Наконец, файл настроек ~/.conkyrc:

    # Conky, a system monitor, based on torsmo
    #
    # Any original torsmo code is licensed under the BSD license
    #
    # All code written since the fork of torsmo is licensed under the GPL
    #
    # Please see COPYING for details
    #
    # Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
    # Copyright (c) 2005-2009 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
    # All rights reserved.
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    # You should have received a copy of the GNU General Public License
    # along with this program. If not, see .
    #

    #alignment top_left
    alignment top_right
    #alignment bottom_left
    #alignment bottom_right

    background no
    border_margin 9
    border_width 1

    cpu_avg_samples 2
    default_color grey90
    default_shade_color black
    default_outline_color DarkGrey

    draw_borders no
    draw_graph_borders yes
    draw_outline no
    draw_shades yes
    double_buffer yes
    use_xft yes
    #xftfont DejaVu Sans Mono:size=9
    xftfont Monaco CY:size=9
    # Text alpha when using Xft
    xftalpha 0.5
    gap_x 8
    gap_y 8
    minimum_size 300 600
    net_avg_samples 2
    no_buffers yes
    out_to_console no
    out_to_stderr no
    override_utf8_locale yes
    own_window no
    own_window_class Conky
    own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
    own_window_type desktop
    stippled_borders 1
    total_run_times 0
    update_interval 3
    uppercase no
    use_spacer no
    show_graph_scale no
    show_graph_range no

    TEXT
    ${color #ffcb48}$nodename ${color #828282}$sysname $kernel [$machine]${color #ffcb48} ${hr 2}
    ${color #98c2c7}FRQ :$color $freq${color grey}MHz
    ${color #98c2c7}THR :$color $acpitemp°C
    ${color #98c2c7}RAM :$color $mem $memmax $memperc% ${color #78af78}${membar 4}${alignr 0}
    ${color #98c2c7}SWAP:$color $swap $swapmax $swapperc% ${color #78af78}${swapbar 4}
    ${color #98c2c7}CPU :$color $cpu% ${color #78af78}${cpubar 4}
    ${color #78af78}${cpugraph #78af78 #a3a3a3}

    ${color #ffcb48}FS ${hr 2}
    ${color #98c2c7}/ : $color${fs_used /} ${fs_size /} ${alignr 90}${color #78af78}${fs_bar 6 /}
    ${color #98c2c7}/local : $color${fs_used /usr/local} ${fs_size /usr/local} ${alignr 90}${color #78af78}${fs_bar 6 /usr/local}
    ${color #98c2c7}/home : $color${fs_used /usr/home} ${fs_size /usr/home} ${alignr 90}${color #78af78}${fs_bar 6 /usr/home}

    ${color #ffcb48}NETWORKING ${hr 2}
    ${color #98c2c7}${alignr 0}TOTAL
    ${color #98c2c7}UP :$color ${upspeed nfe0}$color ${alignr 0}${totalup nfe0}
    ${color #98c2c7}DOWN :$color ${downspeed nfe0}$color ${alignr 0}${totaldown nfe0}
    ${color #78af78}${downspeedgraph nfe0 #104E8B #0077ff}

    ${color #ffcb48}PROCESSING ${hr 2}
    ${color #98c2c7}NAME PID CPU% MEM%
    ${color #e5e5e5}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
    ${color #c4c4c4}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
    ${color #a3a3a3}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
    ${color #828282}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
    ${color #676767}${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
    ${color #98c2c7}PROCESSES :$color $processes
    ${color #98c2c7}UPTIME :$color $uptime

    ${color #ffcb48}TIME ${hr 2}
    ${color #e5e5e5}${font Arial Black:size=32}${alignc }${time %H:%M}${font}
    ${color #e5e5e5}${font DejaVu Sans:size=9}${alignc }${time %A, %d %B %Y}

    ${color #ffcb48}LOGGING ${hr 2}
    ${color #e5e5e5}${font Monaco CY:size=7}${execi 10 tail -n25 /var/log/messages | fold -w50}${font}


    Вот и всё!

    среда, 15 июля 2009 г.

    Firefox 3.5 и Java-plugin

    Чтобы включить поддержку исполнения апплетов в firefox 3.5 на платформе [amd64], нужно проделать ряд несложных действий:

    1. Создать символическую ссылку на библиотеку libjavaplugin_oji.so JRE в каталоге плагинов firefox:

    % cd /usr/local/lib/firefox3/plugins/
    % ln -s /usr/local/jdk1.6.0/jre/plugin/amd64/ns7/libjavaplugin_oji.so .

    2. Активировать плагин в настройках Дополнений браузера.

    После этого браузер может загружать и запускать java-апплеты.