Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Организация небольшой сети на linux Fedora Core3

Автор: Borgia
Дата сообщения: 08.01.2005 21:02
Организация Небольшой сети на linux Fedore Core3
Часть восьмая конфигурирование файл server (SAMBA)


Ну вот пришел Новый Год, позади подготовка, празднование, и прихождения в себя и вообщем я снова собрался с силами и духом продолжить свои опусы Итак файловый сервер - SAMBA.
Почему SAMBA а не NFS ? Наверное я потом попробую организовать и описать NFS , но пока я беру в расчет что наверняка в сети будут и комп. с виндовс системами и им тоже надо дать доступ . И SAMBA нам дает возможность взаимодействия и с линукс и с виндовс ситемами . В сети достаточно материала по SAMBA но к сожалению он значительно устарел во основном идет описание версий 2.х ,(то же самое касается и печатной литературы) а жаль так как версий 3.х имеют серьезные изменения . И если стандартная конфигурация не предстовляет больших проблем то описание взаимодеиствия SAMBA с доменной системой майкрософта , а также взаимодествие с kerberos , winbind , ldap - выглядит достаточно сложно и запутано и разнится от дистрибутива . (вообщем у меня организовался в голове полный салат пока) так что если кто может разложить зто по ,,полочкам ,, буду признателен.
Вопрос в основном когда что использовать, для какого случая что предпочтительней . ( ну и если найдете хорошее описание SAMBA 3.х и ее работы в исполнение разных ролей в сети киньте сюдя линки)
Я буду описывать простую конфигурацию SAMBA сеть у нас небольшая пока ну и как говорят от простого к сложному. Сеть у нас обычная workgroup (каждый сам себе ,,злобный буратино ,, Ну в смысле администратор) и пока без без обязательной авторизации на SAMBA сервере
Задачи.
1 организовать фаил сервер с общим доступом на определенную папку (PUBLIC) и разрешением писать удалять всем (этакая файло-помойка)
2 общим доступом на определенную папку(DATA) и разрешением только читать
3 доступом на определенную папку(DOCS) только определенной группе пользователей

ВОПРОС
Здесь меня немного замкнуло, а где собственно размещать эти папки для SAMBA сервера. Нет я понимаю что можно где хочеш но хотелось узнать у гуру что считается обще принятой практикой , ну или скажем ,, правилами хорошего тона,,

И так SAMBA сервер . Файл конфигурации находится в директории /etc/samba/ это smb.conf фаил достаточно большой но довольно понятно оформлен и разбит на подразделы.
Команды для работы с сервером SAMBA
1 #pgrep smb - проверить загружен ли в данный момент процесс SAMBA сервера
2 Остановить перезапустить запустить SAMBA сервер
#service smb start
# service smb stop
# service smb restart
поставить SAMBA сервер в автозагрузку можно с помощью команды ,,ntsysv,, или
,,chkconfig smb on,, ( это относится не только к SAMBA но и к другим сервисам)
Файл конфигурации smb.conf
#======================= Global Settings =====================================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = ferose

# server string is the equivalent of the NT Description field
server string = Samba Server

# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.

# if you want to automatically load your printer list rather
# than setting them up individually then you'll need this
printcap name = /etc/printcap
load printers = yes

# It should not be necessary to spell out the print system type unless
# yours is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
printing = cups

# This option tells cups that the data has already been rasterized
cups options = raw

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest

# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/%m.log
# all log information in one file
# log file = /var/log/samba/smbd.log

# Put a capping on the size of the log files (in Kb).
max log size = 50

# Security mode. Most people will want user level security. See
# security_level.txt for details.
security = USER
# Use password server option only with security = server
; password server = <NT-Server-Name>

# Password Level allows matching of _n_ characters of the password for
# all combinations of upper and lower case.
password level = 8
# username level = 8

# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
smb passwd file = /etc/samba/smbpasswd

# The following are needed to allow password changing from Windows to
# update the Linux system password also.
# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
# NOTE2: You do NOT need these to allow workstations to change only
# the encrypted SMB passwords. They allow the Unix password
# to be kept in sync with the SMB password.
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

# Unix users can map to different SMB User names

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /etc/samba/smb.conf.%m

# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
interfaces = 192.168.20.0/24 192.168.30.0/24

# Configure remote browse list synchronisation here
# request announcement to, or browse list sync from:
#a specific host or from / to a whole subnet (see below)
; remote browse sync = 192.168.3.25 192.168.5.255
# Cause this host to announce itself to local subnets here
; remote announce = 192.168.1.255 192.168.2.44

# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
local master = yes

# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
os level = 33

# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
domain master = yes

# Preferred Master causes Samba to force a local browser election on startup
# and gives it a slightly higher chance of winning the election
preferred master = yes

# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
; domain logons = yes

# if you enable domain logons then you may want a per-machine or
# per user logon script
# run a specific logon batch file per workstation (machine)
; logon script = %m.bat
# run a specific logon batch file per username
; logon script = %U.bat

# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \\%L\Profiles\%U

# All NetBIOS names must be resolved to IP Addresses
# 'Name Resolve Order' allows the named resolution mechanism to be specified
# the default order is "host lmhosts wins bcast". "host" means use the unix
# system gethostbyname() function call that will use either /etc/hosts OR
# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf
# and the /etc/resolv.conf file. "host" therefore is system configuration
# dependant. This parameter is most often of use to prevent DNS lookups
# in order to resolve NetBIOS names to IP Addresses. Use with care!
# The example below excludes use of name resolution for machines that are NOT
# on the local network segment
# - OR - are not deliberately to be known via lmhosts or via WINS.
; name resolve order = wins lmhosts bcast

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
wins support = yes

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
#Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z

# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least oneWINS Server on the network. The default is NO.
; wins proxy = yes

# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
dns proxy = no

# Case Preservation can be handy - system default is _no_
# NOTE: These can be set on a per share basis
preserve case = no
short preserve case = no
# Default case is normally upper case for all DOS files
default case = lower
# Be very careful with case sensitivity - it can break things!
case sensitive = no

#============================ Share Definitions ==============================
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/false
password server = None
guest ok = yes
guest account = nobody
winbind use default domain = no
;[homes]
;comment = Home Directories
;browseable = yes
;writeable = yes

# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
; comment = Network Logon Service
; path = /home/netlogon
; guest ok = yes
; writable = no
; share modes = no


# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory
;[Profiles]
; path = /home/profiles
; browseable = no
; guest ok = yes


# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
printable = yes

[public]
path = /var/tmp/public
public = yes
only guest = yes
writable = yes
printable = no


[data]
path = /var/tmp/data
public = yes
only guest = yes
writable = no
printable = no

[docs]
comment = Danik and Fedor stuff
path = /var/tmp/docs
valid users = danik fedor
public = no
writable = yes
printable = no
create mask = 0765



# A publicly accessible directory, but read only, except for people in
# the "staff" group
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; read only = yes
; write list = @staff

Этот конфиг фаил немножко короче оригинала - в оригинале больше примеров для расшаревания различных ресурсов . Здесь важно помнить что SAMBA - это если так можно выразиться не чисто файл сервер для среды ,,чистого ,, линукса скорее всего он был создан для интегрированного решения среды маикрософта с юникс-линукс и др. сред . Поэтому если ваша сеть предпологает быть чисто линукс то скорее всего нет смысла заводить этот ,,танец,, а обратить внимание на NFS . Дальше нам нужно завести всех юзеров которые будут авторизироваться на сервере для захода на расшареную папку для определенных юзеров в нашем случае это два юзера Danik and Fedor . Важно помнить что просто создание этих юзеров на сервере ( ,,adduser user_name,, и задание пароля ,,passwd user_name,,)не решит проблему так как у SAMBA своя база данных пользователей , но при этом она позволяет добавить юзера в свою базу данных только если он присутствует в системе . То есть вначале создаем юзера на сервере а только потом добавляем его в базу данных SAMBA сервера.
smbpasswd -a Danik (в нашем примере и не забываем про регистр в линуксе Danik и danik два разных слова )
smbpasswd -a Fedor

Теперь вопрос специалистам
по конфигу
guest ok = yes
guest account = nobody
мы разрешаем гостю заходить на рашареные папки nobody это гостевой юзер в системе я его тоже добавил в в базу данных SAMBA сервера с пустым паролем ( насколько это правильно)
2 . У меня при заходе со станциий линукс на рашареный ресурс public выскакивает окно авторизации и мне приходиться вписывать имя nobody и жать Enter . Есть возможность решить эту проблему ? Если уж дали вход для всех то зачем авторизироваться .

Диагностика.
Сконфигурировали мы конфиг запустили самбу теперь осталось проверить а все ли правильно мы сделали с этим я отсылаю всех желающих на очень толковую статью (не удобно просто взять и скопировать а переписывать тоже самое своими словами не вижу смысла)
http://www.linuxrsp.ru/docs/smb_diag.html
Другие интересные статьи
http://sys.net.ru/docs/howto/samba_pdc/
http://linux.yaroslavl.ru//docs/serv/samba/samba-win2000.html
http://sys.net.ru/docs/network/Samba_XFS_ACL/
http://www.citforum.ru/operating_systems/linux/samba/
И последнее по поводу кодировок - может и не надо но на всякий случай можно добавить поддержку юникода ( добавляем в секцию GLOBAL конфиг фаила)

dos charset = 866
unix charset = UTF-8
display charset = UTF-8

На этом по SAMBA пока все, если есть что добавит исправить пишите



Автор: psj
Дата сообщения: 09.01.2005 09:37
Borgia

Цитата:
и пока без без обязательной авторизации на SAMBA сервере


Цитата:
3 доступом на определенную папку(DOCS) только определенной группе пользователей

Это как-то не стыкуется, Т.к. две данные вещи взаимоисключают друг друга без авторизации на сервере!
Но если честно - давно жду именно этого раздела, т.к. хочу попробывать сделать именно авторизацию в домене Win 2000/2003. Причем если 2000, то в native режиме. Причем - логоннаме в домене должен быть кирилицей, т.е. Пупкин, Васильчиков, ..., так же как и пассворды - пкв1234, впк43216, ... Четко об этом нигде ни читал, а сколько не пробывал - самому сделать не получалось, т.к. всегда не хватало главного - времени! Т.е. простой файловый сервер поднимается сразу и на УРА-а-а! А вот с подобной доменной аутентификацией ничего не получилось
Автор: Borgia
Дата сообщения: 09.01.2005 22:41
psj

Ну я это по видовой привычке . С другой стороны меня интересует вопрос кто может обьяснить значение визарда [ Aplications > System Settings> Authentication ] там есть две вкладки 1 User Imformation 2 Authentication - их значение (Чего то я совсем запутался что канкретно дают эти параметры - это для сервера если я предостовляю такой сервис или для
клиента для подключения к серверу -
второе что канкретно дает вкладка Authentication> SMB
третье на чем может быть организовано - NIS, LDAP ? вариант как в виндовс сети , что если юзер проходит авторизацию в домеине то он может работать с любой станции независимо от того есть такой юзер локально или нет.

я чего то туплю сегодня (устал говова уже не варит)
Автор: Wooden Goblin
Дата сообщения: 14.01.2005 10:37

Цитата:
Единственное пинг не идет из компьютера любой из подсетей наружу
[root@test ~]# ping www.linux.org.ru
PING www.linux.org.ru (217.76.32.61) 56(84) bytes of data.

--- www.linux.org.ru ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 4999ms
Но С самого сервера все ок.


Как верно подметил Dr_Spectre, у тебя не настроен NAT, в твоём конкретном случае надо использовать MASQUERADE.
Например:
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o eth0 -j MASQUERADE
- таким способом ты выпустишь наружу всех с подсети 192.168.20.0
Автор: Borgia
Дата сообщения: 16.01.2005 21:49
Wooden Goblin

спасибо большое за помощь , кстати если есть желание напиши несколько правил для этих двух подсетей
например
1 запретить весь трафик из подсети 192.168.30.0 в 192.168.20.0 и обратно
2 разрешить из сети 192.168.20.0 в 192.168.30.0 только SSH
3 разрешить из сети 192.168.20.0 в 192.168.30.0 только FTP
4 разрешить из сети 192.168.20.0 в 192.168.30.0 только WEB
5 разрешить из сети 192.168.20.0 в 192.168.30.0 только SMTP
6 разрешить из сети 192.168.20.0 в 192.168.30.0 только IMAP
7 разрешить из сети 192.168.20.0 в 192.168.30.0 только POP3

PS.А я пока застрял на Postfixe
http://forum.ru-board.com/topic.cgi?forum=8&topic=2336#1
Автор: Wooden Goblin
Дата сообщения: 16.01.2005 22:13
Borgia

Цитата:
спасибо большое за помощь , кстати если есть желание напиши несколько правил для этих двух подсетей
например
1 запретить весь трафик из подсети 192.168.30.0 в 192.168.20.0 и обратно
2 разрешить из сети 192.168.20.0 в 192.168.30.0 только SSH
...

1 - под "весь" подразумевается весь, кроме нижеперечисленного?
2 - из 20.0 в 30.0 ssh и т.п. - т.е. с компьютеров сети 20.0 разрешить ходить на указанные порты компьютеров сети 30.0, или наоборот?

Автор: Borgia
Дата сообщения: 16.01.2005 22:51
Wooden Goblin

я просто хочу организовать из подсети 192.168.30.0 типа DMZ и дать возможность открывать только конкретные сервисы например если установить там фтп или веб ...
в зависимости от нужд поэтому сеть 192.168.30.0 не должна видеть 192.168.20.0 , а из 192.168.20.0 открывать взависимости отустановленных сервисов - не все вместе перечисленное мной ( ну вообщем что то типа этого )
PS кстати как один из вариантов можно что сеть 192.168.30.0 не должна видеть 192.168.20.0
а сети 192.168.20.0 разрешить весь трафик в 192.168.30.0
Автор: Dr_Spectre
Дата сообщения: 17.01.2005 11:17

Цитата:
1 запретить весь трафик из подсети 192.168.30.0 в 192.168.20.0 и обратно

iptables -A FORWARD -s 192.168.30.0/24 -d 192.168.20.0/24 -j REJECT
iptables -A FORWARD -s 192.168.20.0/24 -d 192.168.30.0/24 -j REJECT


Цитата:
2 разрешить из сети 192.168.20.0 в 192.168.30.0 только SSH
3 разрешить из сети 192.168.20.0 в 192.168.30.0 только FTP
4 разрешить из сети 192.168.20.0 в 192.168.30.0 только WEB
5 разрешить из сети 192.168.20.0 в 192.168.30.0 только SMTP
6 разрешить из сети 192.168.20.0 в 192.168.30.0 только IMAP
7 разрешить из сети 192.168.20.0 в 192.168.30.0 только POP3


здесь можно использовать расширение мультипорт и загнать их все в 2 правила
(хожет не в 2 а в 4 так как придется описывать udp и tcp отдельно)

iptables -A FORWARD -s 192.168.30.0/24 -d 192.168.20.0/24 -p tcp -m multiport --dport 22,53,80,110 -j ACCEPT
Это для примера список портов брать в /etc/services (b еще udp для чего нужно открыть)
обратно трафик можно открыть для всех портов вообще
iptables -A FORWARD -s 192.168.30.0/24 -d 192.168.20.0/24 -j ACCEPT
Автор: Wooden Goblin
Дата сообщения: 18.01.2005 11:28
Желательно ещё чтобы вот это было, если его ещё нет:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Может понадобиться потому, что первоначальное соединение на какой-то порт может порождать "дочек", т.е. соединение далее идёт не с исходным портом, а с другим.
Хотя для указанных тобой протоколов это вроде как нехарактерно, такие вещи обычно любят ftp и клиенты P2P.
Автор: Dr_Spectre
Дата сообщения: 18.01.2005 16:36

Цитата:
Желательно ещё чтобы вот это было, если его ещё нет:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


из
Цитата:
2 разрешить из сети 192.168.20.0 в 192.168.30.0 только SSH
3 разрешить из сети 192.168.20.0 в 192.168.30.0 только FTP
4 разрешить из сети 192.168.20.0 в 192.168.30.0 только WEB
5 разрешить из сети 192.168.20.0 в 192.168.30.0 только SMTP
6 разрешить из сети 192.168.20.0 в 192.168.30.0 только IMAP
7 разрешить из сети 192.168.20.0 в 192.168.30.0 только POP3


это только ftp в пассивном режиме надо.
Автор: Borgia
Дата сообщения: 18.01.2005 22:06
Wooden Goblin
Dr_Spectre

Я очень благодарен вам за вашу помощ я обязательно включу это в заметку по созданию dmz
PS я там немножко дописал про самбу возникло несколко вопросов про гостевой доступ может у вас есть что сказать по этому поводу.
И кстати ваш совет по выбору почтового сервера ( первую очередь конечно же простота настройки и дальнейшая интеграция с антивирус и антиспам)
Автор: Dr_Spectre
Дата сообщения: 19.01.2005 10:29
по поводу сервера - я за postfix - простое конфигурирование, удобство и т.п.
(или уж communigate pro но это коммерческий софт но зато все в одном флаконе smtp pop imap их секурные вариации, ldap webmail и т.п.).

Бесплатный drweb теперь вообще не работает (раньше просто не лечил архивы)

Автор: Wooden Goblin
Дата сообщения: 19.01.2005 14:35
Про почтовку - не знаю, что сказать. У меня sendmail + lotus domino Связка пожалуй что одна из самых сложных по настройке и нафиг большинству ненужная.
Антивирусом на почтовках служать drweb (стоял пару месяцев и clamav) и Panda, спамероловилка - spamassassin. К посоветованному выше postfix'у и drweb, и clamav, и spamassassin прикручиваются без проблем.

По части вопроса про самбу - попробуй завести другого гостевого пользователя, не nobody. Совет практически наобум, просто отложилось в голове, что пару лет назад какие-то проблемы именно с nobody в качестве гостя у меня были.
Автор: Cursed
Дата сообщения: 05.02.2005 21:51
Borgia
Респект за тему и проделанную работу, сейчас как-раз буду делать примерно тоже самое, только в несколько упрощенной схеме (без почты, ftp). Нет желания оформить это как единую статью? Сколько ни искал, но в одном документе/теме это собрано впервые
Автор: Borgia
Дата сообщения: 06.02.2005 20:07
Cursed

Желание есть и я надеюсь что так и будет вот надо закончить что задумал(сеичас немного не получается есть пару проблемок но обязательно додоелаю) + есть еще несколько тем которые хочу охватить
Автор: AndreiVA
Дата сообщения: 07.02.2005 13:59
Лишь сегодня прочем Ваш проект. Понравилось, нужная вещь. Особенно для начинающих. Не надо по всему I-net-у шарить. Спасибо.
Небольшое замечание или дополнение( не знаю даже) :
На две внутренние подсети не надо ставить две сетевые карты. Можно разделить одну. Вот так:
eth1 - 192.168.20.1
и
eth1:1 - 192.168.30.1

Linux – сам все разделит. Не надо будет физически две сети городить.
Это первое , что бросилось в глаза. Вчитаюсь поглубже, может быть еще что то подскажу.
Автор: Cursed Work
Дата сообщения: 08.02.2005 11:43
Возник вопрос - а если я в сконфигурированном сервере сменю сетевую плату, то какие последствия это за собой принесет?
И еще один. Если я на внешнем интерфейсе сервера , настроенном при установке на DHCP от провайдера решу установить фиксированный адрес (например, в случае смены поровайдера) - что мне нужно будет исправить и в каких файлах?
Автор: Borgia
Дата сообщения: 09.02.2005 21:30
AndreiVA
спасибо за подсказку мысль очень интересная если можно напишите подробнее (для чаиников) я добавлю это в описание .
Вопрос как это сказывается на нагрузку сетевой карточки и процессора , ну если трафик не тяжелый то с сетевой карточкой нет проблем с другой стороны наверное возрастает нагрузка по обработке информацийй ( интересно ваше мнение)

Cursed Work


Цитата:
Возник вопрос - а если я в сконфигурированном сервере сменю сетевую плату, то какие последствия это за собой принесет?

У меня было как раз подобное


Цитата:
между прочим обратил внимание что redhat-fedora очень не любит несколько карточек одного вида, он видно не может им назначить разные прерывания ,(в сусе между прочим такго не нблюдал) и еще одно странное поведение если я через графический конфигуратор убрал какую то карточку ( сетевую) и сделал сейв , то при перезагрузке все равно выскочит кудзу и спросит хочу ли я убрать старую карточку и поставить новую. Такое впечатление что в графике само по себе и в консоле тоже само по себе


Последствиий впринципе никаких не должно быть гланое что бы он ее определил под тем же именем например eth0 или eth1 . Если нет то тоже ничего страшного нет, самое простое ( поменять местами кабеля отконфигурировать с помощью визарда SETUP первую , а второй задать адрес в консоле ) или наити описание как в консоли задать той или иной карточке ее определение eth0 или eth1 ( я не нашел - если честно сильно не искал, поменять IP в консоле видел - довольно просто )
Я кстати сам столкнувшись честно говоря не нашел простого и толкового описания а самому сест и повозится руки не дошли


Цитата:
[ И еще один. Если я на внешнем интерфейсе сервера , настроенном при установке на DHCP от провайдера решу установить фиксированный адрес (например, в случае смены поровайдера) - что мне нужно будет исправить и в каких файлах?/q]
Ну если это очень сложнов консоле то максимум есть визард в консоле вызывается командой ,, setup ,, там нужно выбрать network Configuration ( но самое интересное что он конфигурирует только одну карточку первую eth0
по поводу
[q]что мне нужно будет исправить и в каких файлах?

сразу мне трудно сказать все зависит то сервисов ( но на первый взгляд ничего ну может только в dns
Автор: Cursed
Дата сообщения: 09.02.2005 21:56
Borgia
В том то и дело, что в консоли не сложно, если знать что именно править. Тем более что использую не RH-подобный дистрибутив (Slackware). Пока ищу. Если кто подскажет в каком направлении искать - буду признателен.


Добавлено:
Чуть не забыл: планируются сервисы: DHCP, DNS, proxy (SQUID), iptables в качестве firewall и NAT, SAMBA, система учета трафика (пока не решил, но скорее всего Traffic Accounting). Может чего и упустил, но несущественное для настройки именно сети.
Автор: Borgia
Дата сообщения: 09.02.2005 23:11
Cursed
Помоему в основном везде оперируются именно eth0 и тд.. DHCP , SAMBA врядли ты будеш выставлять наружу в SQUID тоже не помню настроек касаюшихся внешней карточки в iptables помоему оперируется именно названиями eth0 и тд.. (хотя может не всегда ) самое простое пробегись по всем конфигам которые я описал я не помню чтоб мне нужно было гдето вписывать ip внешней карточки ну только в конфиге xinetd для прослушки внешней карточки при подключение по фтп извне
Автор: Cursed
Дата сообщения: 10.02.2005 04:01
Эксперимент продолжается...
Правда пока только на уровне DHCP и DNS. Уперся рогом одну проблему: необходимо преобразование имен внутри сети. Сервер преобразование имя SERVER_NAME -> IP делает (правда обратно не получается, но это и не важно). А вот клиенты не желают. В конфиг named.conf добавил зону
zone "MY_DOMAIN" IN {
type master;
file "MY_DOMAIN.zone";
allow-update { none; };
результат ноль. При этом все, что касается внешних серверов - работает на ура. Где я еще мог наколоться?

Добавлено:
Borgia
В принципе я догадываюсь, что впрямую адрес нигде не должен указываться. Просто я наперед думаю, как бы не пришлось все перенастраивать с нуля, если из лабораторных условий сервер будет введен в боевые.
Автор: Dr_Spectre
Дата сообщения: 10.02.2005 15:39
Без обид но очень хорошая тема превращается во флейм. ДЛя "детских" вопросов есть отдельные топики.



Цитата:
Правда пока только на уровне DHCP и DNS.


есть dynamic dns - dhcp будет сообщать днс серверу данные
Автор: AndreiVA
Дата сообщения: 14.02.2005 18:12
Лишь сегодня дошли руки.
Borgia wrote:
AndreiVA
спасибо за подсказку мысль очень интересная если можно напишите подробнее (для чаиников) я добавлю это в описание .
Берем файл ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.20.101
NETMASK=255.255.255.0
NETWORK=192.168.20.0
BROADCAST=192.168.20.255

и копируем его в файл ifcfg-eth1:1. Затем правим его и получаем:
DEVICE=eth1:1
ONBOOT=yes
IPADDR=192.168.30.101
NETMASK=255.255.255.0
NETWORK=192.168.30.0
BROADCAST=192.168.30.255

Пкерезапускаем сеть - service network restart

И видим , что у нас 3-и рабочих интерфейса(eth0, eth1 и eth1:1). Все они отлично работают.
Следовательно до hub-а тянем всего одину витую пару, а дальше все зависит от Вашей фонтазии. Вы имеете две внутреннии подсети.


Вопрос как это сказывается на нагрузку сетевой карточки и процессора

Если это используется лишь для выхода в I-net, то ни каких проблем, а если у Вас на сервере Samba с 1С или что то подобное, то нагрузка будет ощютима.

, ну если трафик не тяжелый то с сетевой карточкой нет проблем с другой стороны наверное возрастает нагрузка по обработке информацийй ( интересно ваше мнение)

Тогда для Samba лучше использовать другой сервер, а не Internet-шлюз.

Автор: Borgia
Дата сообщения: 26.02.2005 19:30
Организация Небольшой сети на linux Fedore Core3
Часть восьмая резервирование данных (Backup)


Решил пока немного перепрыгнуть от запланированых тем веб и почта так как реально столкнулся с тем что, то что наиденно, записано и создано надо как то архивировать и куда-то складывать. Я думаю у каждого есть какая то информация -фаилы с которыми бы он не очень хотел растоваться . Для тех у кого очень критичная информация да и к тому же конфиденциальная написаное здесь не будет решением их проблем . Нас же интересует просто удобное сохранение определенных данных на случай краха системы и быстрое их востановление.( я дальше буду просто сокращать словом - backup) Сюда могут входить как личные файлы так и всевозможные конфигурационные файлы системы.
В начале немнного идеологий backup .Для себя я вынес основную мысль сказаную ниже.
Основные правила очень простые
1. чем больше копий тем лучше, при условии что они находятся в разных местах и плюс на разных носителях
2. стоимость backup не должна превышать стоимости самих данных ( тут каждый сам решает на сколько ему важны его данные )
3. сама организация backup должна быть достаточно простой и удобной и по возможности автоматизированной хотя бы на програмном уровне
4. Надо обязательно раз в какое то время делать тестовое востоновления данных из backup что бы удостовериться что вы деиствительно сможете при аварии вернуть свои данные

Все сказаное ИМХО.
И так что мы имеем на сегодняшний день в виде носителей на которые можно делать backup данных.
1. HARD DISK
2. CD-RW
3. DVD-RW
4. TAPE
Их намного больше но я имхо отметил наиболее актуальные для небольщой сети . И так - как я это вижу . В сети должен быть компьютер не обязательно выделенный -но желательно , на котоый будут скидываться данные с компьютеров в сети для этого он должен обладать достаточным дисковым пространством ( в оптимале SCSI RAID 5 ) хм ну кто знает ??? более дешевое решение RAID SATA, еще более дешевое просто HARD DISK SCSI , ну и самое дешевое HARD DISK IDE . И все это будет дублироваться backup на TAPE или CD-RW,DVD-RW на случай выхода из строя HARD DISK.
Поверьте изголяться можно до бесконечности но здесь вступает правило 2 ,, стоимость backup не должна превышать стоимости самих данных ( тут каждый сам решает на сколько ему важны его данные ),,

Теперь о програмном обеспечении. Его достаточно много и в том числе и бесплатных вы можете ознакомиться со списком
http://www.opennet.ru/prog/sml/45.shtml
Есть и уже встроенные программы tar, dump, cpio . Есть так же в дистрибутиве и программа AMANDA - Распределенная система, для создания резервных копий с находящихся в различных местах сети машин на централизованном бэкап сервере. Но покопавшись я понял что без ящика пива и соседа гуру я врядли сам разберусь ( хотя я может и не прав, но толковых статей я в инете не нашел)
dump
Описание
Dump полностью отличается от tar; эта программа предназначена для резервного копирования и восстановления файловой системы. Она создает резервные копии элементов файловой системы не файлов. Dump проверяет файлы на файловой системе ext2, определяет резервные копии каких из них необходимо выполнить и копирует эти файлы на заданный диск, ленту, файл или другой носитель. Это позволяет получить дамп одной файловой системы быстро и эффективно. К сожалению, его нельзя применить к отдельным каталогам, поэтому архивы потребляют больше места на устройстве хранения. Dump был написан специально для резервного копирования. Команда restore выполняет функцию обратную dump; она восстанавливает полную резервную копию файловой системы. Последующие добавочные резервные копии могут быть наложены слоями на вершину полной копии. Отдельные файлы и каталоги могут быть также восстановлены из полной или частичной резервной копии. Вы можете использовать dump если нуждаетесь в процедуре резервного копирования и восстановления файловых систем
Программа dump выполняет резервное копирование всей файловой системы, располагающейся на устройстве. Невозможно выполнить резервное копирование части файловой системы или дерева каталогов, которые располагаются более чем в одной файловой системе. Утилита dump не записывает на ленту файлы и каталоги, она записывает блоки данных, из которых строятся файлы и каталоги.

tar
Описание
Программа резервного копирования tar это программа архивирования, которая была создана для хранения и извлечения файлов из архива, известного как тарфайл. Тарфайл может быть создан на лентопротяжном устройстве; однако, чаще всего тарфайлы записываются как обычные файлы.
tar работает с файловой системой; tar записывает на ленту файлы и каталоги.

cpio
является оригинальной программой UNIX для обмена файлами на магнитных носителях. В утилите cpio имеются опции (кроме всего прочего), позволяющие выполнять изменение порядка следования байтов, поддерживающие различные форматы архивов и выполняющие перенаправление данных другим программам. Последняя возможность делает cpio прекрасным выбором для целей установки. cpio не знает о том, как работать с каталогами, список файлов должен даваться через stdin.
вот линки интересные линки откуда я брал информацию.
http://www.mgul.ac.ru/~t-alex/Linux/optimization/ch22_1.html
http://www.mgul.ac.ru/~t-alex/Linux/optimization/ch22_2.html#9
Выбор за вами я остановил пока свой выбор на tar так как места для хранения у меня не много и backup я буду делать определенным папкам настроек системы и своим личным. Теперь каким директориям мы должны делать backup, и если с личными папками нет проблем то с ситемными не все так обстоит понятно.
Вот что я нашел по этому поводу
Предостережение: При резервировании файловых систем НЕ резервируйте псевдосистему `` /proc''! Файлы в /proc не настоящие, а только указатели на структуры данных ядра. Резервирование файлов типа ``/proc/kcore'', который является псевдофайлом, с содержанием всей памяти, является довольно большой и бессмысленной тратой ленты. Также не стоит резервировать файлы в ``/mnt'', поскольку там находятся файлы на CD-ROM, дискетах, сетевых дисках и других смонтированных внешних носителях. Сюда же наверно надо отнести и var/spool/squid если есть squid.

Здесь вообщем то вопрос к гуру интересует минимальный набор директорий для востановления системы .
То есть если принято волевое решение что лишнего места нет и простой в пару тройку часов не критичен при установке сервера с нуля но хочется потом не вспоминать какие там были опции в том или ином конфиге там и что то где то мы еще добавляли в каком не помню месте, что нужно бекапить кроме /etc что бы вернуть в строи допустим стандартные сервисы DHCPD DNS FTP и тд.

Хочется добавить что если речь идет о workststion то может быть и вполне достаточно сделать backup директории /home то для сервера может быть совсем не лишнем сделать имидж диска полностью с помощью таких програм как ghost, acronis http://www.desktop-linux.net/backups.htm или бесплатных под линукс Partimage http://www.partimage.org/ , Mondo Rescue http://www.mondorescue.org/ http://www.chem.vu.nl/~stol/Mondo-Rescue-Mindi-Linux-HOWTO.pdf , Ghost for Linux http://freshmeat.net/projects/g4.

Ну продолжим и так нам нужно создать архив с определенными диреториями и перекинуть это по сети на выделенный сервер назовем его backup server, в определенную директорию . Я создал ее
в /var/ftp/pub/backup и несколько подпапок по имени компьютеров чтоб в дальнеишем не запутаться. ( Почему там, ну во первых доступ по фтп нам не помешает во вторых если у вас есть диск выделенный под backup вы можете смонтировать его под эту папку что имхо тоже не плохая мысль) Не забудьте на папку backup дать разрешения тому юзеру под которам вы будете производить backup. Из под рута $ chown username backup
И уже из под этого юзера создать подпапки по именам компьютеров. При переброске фаилов по сети мы будем использовать SSH . Но здесь есть одна проблемка при поключение по ssh к другому компу он требует аутентификацию что никак не входит в наши планы. Значит нам нужно сгенерировать паблик кеу и перенести его backup server чтоб он нам доверял и не спрашивал пароль . Делается это довольно просто из под юзера который будет производить backup даите команду
$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/andreys/.ssh/id_rsa): ( здесь нажмите Enter - что вы согласны)

Enter passphrase (empty for no passphrase) ничего не пишите просто Enter)
Enter same passphrase again: ( ничего не пишите просто Enter)

Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
a6:84:5d:a6:cd:ff:31:48:21:85:ca:46:93:88:7a:50 xxx@localmachine
все ключ создан можете проверить в домашней директории в скрытой папке ~/.ssh

-rw------- 1 xxxxxx xxxxx 883 Feb 26 14:10 id_rsa
-rw-r--r-- 1 xxxxx xxxxxx 238 Feb 26 14:10 id_rsa.pub

Дальше нам его надо скопировать на backup server не забудьте что там нужно создать перед этим такого же юзера и в его директории создать папку ~/.ssh - на локальной машине даем команду

ssh remotemachine “mkdir .ssh; chmod 600 .ssh”
Дальше нам осталось скопировать публик кей на backup server
$ scp ~/.ssh/id_rsa.pub remotemachine:.ssh/authorized_keys2
у вас спросят пассворд юзера введите.
Все теперь нам осталось проверить пускает ли нас backup server по ssh без пассворда :
$ssh 192.168.1.252
backup_server$ _ вы должны попасть на сервер без пароля .

Материал брался отсюда http://madpenguin.org/Article1505.html


Теперь уже непосредственно работа с tar

Здесь каждый должен выбрать наиболее ему подходящую политику backup, вариантов много и каждый наверное должен выбрать что то оптимальное для себя - что это значит. Очень трудно дать какие то 100% решения когда речь идет о небольших сетях с соответсвенным бюджетом . Для средних и больших сетей давно выработанны стандартные решения для небольших сетей они могут совсем не подходить . по этому я буду стараться давать несколько общих решений.
Попробую описать на своем примере .
Например есть несколько компьютеров работаюшие на них юзеры сохраняют свои фаилы-документы в папке ,, docs ,, в конце дня нам нужно взять эту папку заархивировать с помощью tar в фаил docs.tar и переместить на ,,backup server,, в папку backup и подпапку по имени станции, вот пример команды
tar -cpf /var/ftp/pub/andreys/backup/docs.tar /var/ftp/pub/andreys/backup/docs;cat /var/ftp/pub/andreys/backup/docs.tar |ssh 192.168.1.252 "cd /var/ftp/pub/backup/fragile; cat > docs.tar"
Даваите разберем по порядку
1. tar -cpf /var/ftp/pub/andreys/backup/docs.tar ( здесь я задаю команду создать архив -сpf c сохранением всех permissions в определенной диретории (она может быть в любом месте) и с именем docs.tar

2. /var/ftp/pub/andreys/backup/docs ( путь к папке которую архивируем )
3. ;cat /var/ftp/pub/andreys/backup/docs.tar ( команда вырезать docs.tar)
4. |ssh 192.168.1.252 "cd /var/ftp/pub/backup/fragile ( подключится с ssh к серверу и переити в папку backup и подпапку по имени workstation -- ,, именно для этого мы создавали публик кей -незабудьте что его надо создать для каждого конкретног юзера на каждом компьютере )
5. ; cat > docs.tar" ( вставить папку )
Для тех кто хочет оставить себе на компе дополнителный архив может сделать так


tar -cpf /var/ftp/pub/andreys/backup/docs.tar /var/ftp/pub/andreys/backup/docs

а затем с помощью команды ,,scp,, перенести его на сервер .

scp /var/ftp/pub/andreys/backup/docs.tar 192.168.1.252:/var/ftp/pub/backup/fragile/docs.tar

Все это можно записать в скрипт и поместить в cron

пример скрипта в редакторе vi
$vi backup.sh

#!/bin/bash
# скрипт бакупа моей папки docs
tar -cpf /var/ftp/pub/andreys/backup/docs.tar /var/ftp/pub/andreys/backup/docs;cat /var/ftp/pub/andreys/backup/docs.tar |ssh 192.168.1.252 "cd /var/ftp/pub/backup/fragile; cat > docs.tar"

или так

#!/bin/bash
# архивирование папки docs
tar -cpf /var/ftp/pub/andreys/backup/docs.tar /var/ftp/pub/andreys/backup/docs

#перенос ее на сервер
scp /var/ftp/pub/andreys/backup/docs.tar 192.168.1.252:/var/ftp/pub/backup/fragile/docs.tar

Затем поместите фаил backup.sh в cron
$crontab -e
0 2 * * * /xxx/xxx/backup.sh ( каждую ночь в два часа будет выполняться скрипт и соответственно ваш бакуп)
И так каждую ночь будет выполняться бакуп и ваш фаил на сервере будет переписываться более новой копией.

Кого не устраивает одна копия и он хочет иметь несколько предыдущих копий на случай отката можно делать копии по дням недели наример имя фаила +день недели.
$tar -cpf /var/ftp/pub/andreys/backup/docs`date '+%A'`.tar /var/ftp/pub/andreys/backup/docs;cat /var/ftp/pub/andreys/backup/docs`date '+%A'`.tar |ssh 192.168.1.252 "cd /var/ftp/pub/backup/fragile; cat > docs`date '+%A'`.tar";rm /var/ftp/pub/andreys/backup/docs`date '+%A'`.tar

таким образом у вас на сервере будет храниться все время 7 копии по дням недели.

Я очень надеюсь что я достаточно понятно описал принцип одного из вариантов архивирования на удаленный сервер .
Дальше все зависит от ваших нужд и возможностей и фатазии. Что хочется добавить - или вернее спросить совета у гуру .
Если нам нужно создать backup системы - ситемных папок сервера или станции то здесь наверное будет единственное решение делать это из под рута или все таки есть другое решение например создать юзера например ,,backup, и поместить его в группу администраторов (или что то подобное) и из под него делать backup системы или вообще весь бакуп на станции,

Дальше мы попробуем разобраться с backup уже на самом сервере .

Ну что ж будем считать что что ежедневно у нас происходит архивирование на стакциях и все это сваливается на сервер в директорию backup . Теперь надо продумать организацию backup на самом сервере . Если обьем архивированных данных достаточно большой ну скажем от 1 gb до 4 , и этот обьем может со временем увеличиться - то может имеет смысл задуматься о приобретении tape backup .( Я не буду здесь давать какие то рекомендации по выбору tape backup - потому что у меня нет такой информации но если она у вас есть то можете написать с учетом что речь идет о небольшой сети и с краткой характеристикой возможно что это кому то поможет ) Если кого интересует у меня для опытов взят старенький Tanderberg 4/8 gb slr5 ( опять же ничего конкретного про него не могу сказать -хм вроде работает ) По этому я буду описывать архивирование на tape backup. Если кто то напишет как он это делает на CD-RW. C удовольствием дополню .
И так у нас есть несколько возможностей
1. просто ежедневно делать полную копию на tape backup
вот комманда
$tar -cvpf /dev/st0 --label="Backup set created on `date '+%d-%B-%Y'`." /var/ftp/pub/backup/fragile


естественно из под рута потому что только у него есть пермишен на деваис /dev/st0 - зто tape backup (scasi)
Дальше есть просто очень толковая статья по этому материалу и получится что я просто переказываю оригинал , поэтому я все таки скопирую часть относящуюся к нашей теме (надеюсь авторы не обидяться ) вот линк на полную статью http://www.mgul.ac.ru/~t-alex/Linux/optimization/ch22_1.html
Обязательно советую прочесть так как там описывается не только работа с утилитой tar.

Простая схема резервного копирования

Когда вы решили создавать резервные копии ваших файлов, вы должны выбрать схему резервного копирования до начала этой процедуры. Существует множество схем резервного копирования, зависящих от политики резервного копирования, которую вы хотите использовать. В дальнейшем, я покажу вам одну из схем, которую вы можете использовать, которая использует преимущественно возможности программы tar. Эта схема выглядит так: сперва копировать все, что возможно, а в дальнейшем все, что изменилось со времени создания последней резервной копии. Первая резервная копия называется полной, а остальные добавочными.
Создание резервных копий с tar

С шестью лентами вы можете делать резервные копии каждый день; процедура использует ленту 1 для полного резервного копирования (Пятница 1), и ленты со 2 по 5 для добавочного резервного копирования (С понедельника по четверг). Затем, мы делаем новую полную резервную копию на ленту 6 (вторая пятница), и далее делаем добавочные копии на лентах со 2 по 5. Важно сохранить 1 в неприкосновенности, пока мы не получим полную резервную копию на ленте 6. В следующем примере, мы подразумеваем, что записываем резервные копии на SCSI ленточное устройство с именем (/dev/st0), и создаем резервную копию домашнего каталога (/home) нашей системы.

Первое, мы должны переместиться в корневой раздел. Когда &#8992;tar&#9632; создает архивные файлы, он удаляет начальный символ &#8992;/&#9632; (слеш) из пути к файлу. Это значит, что после восстановления файлы могут оказаться не на своем месте. Чтобы решить эту проблему, необходимо до изготовления резервных копий и восстановления данных переходить в корневой раздел вашей файловой системы.

Переместитесь в корневой раздел:
[root@deep]# cd /

Важно всегда начинать с изготовления полной резервной копии, например, в пятницу:

* Пятница 1, (используйте ленту 1 для первой полной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home
* Понедельник, (используется лента 2 для добавочной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home
* Вторник, (используется лента 3 для добавочной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home
* Среда, (используется лента 4 для добавочной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home
* Четверг, (используется лента 5 для добавочной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpNf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home
* Пятница 2, (используется лента 6 для полной резервной копии).
[root@deep /]# cd /
[root@deep /]# tar cpf /dev/st0 --label=" full-backup created on `date '+%d-%B-%Y'`." --directory / home

Далее, делаем добавочные резервные копии на лентах со 2 по 5 и так далее.

Опция &#8992;c&#9632; определяет, что мы создаем архивный файл.
Опция &#8992;p&#9632; сохраняет права доступ.
Опция &#8992;N&#9632; делает добавочную резервную копию и запоминает файлы новее чем DATE.
Опция &#8992;f&#9632; говорит, что следующий аргумент будет либо имя архивного файла, либо имя устройства на которое производится запись.

Объясним как мы получили имя файла, который содержит текущую дату: просто поместите команду &#8992;date&#9632; между обратными кавычками. К основному имени добавляется суффикс &#8992;tar&#9632; для не сжатых архивов, и суффикс &#8992;tar.gz&#9632; для сжатых. Так как мы не определяем конкретное имя для файла резервной копии, то воспользуемся опцией "--label", которая позволяет записать некоторую информацию в архивный файл. В заключении мы определяем, что только файлы из каталога "/home" будут записаны на ленту.

Так как лента это устройство посимвольного ввода, мы не можем определить имя файла. Поэтому, в качестве аргумента для опции &#8992;имя файла&#9632; программы tar используется просто имя устройства, "/dev/st0". Устройство &#8992;/dev/st0" не перематывается после создания резервной копии; поэтому, мы имеем возможность записать на одну ленту несколько сессий. Вы можете, также сказать устройству &#8992;/dev/st0&#9632;, автоматически перемотать ленту после окончания записи резервной копии. При работы с лентой, вы можете использовать следующие команды для перематывания и извлечения ленты из устройства:
[root@deep /]# mt -f /dev/st0 rewind
[root@deep /]# mt -f /dev/st0 offline
и например если вы хотите отчистить касету то используйте команду erase
[root@deep /]# mt -f /dev/st0 erase
если снова хотите подключить
[root@deep /]# mt -f /dev/st0 load



ПРЕДОСТЕРЕЖЕНИЕ. Для уменьшения пространства занимаемого tar архивом, резервная копия может быть сжата при помощи опции &#8992;z&#9632; программы tar. К сожалению, использование этой опции может создать ряд проблем. Из природы работы сжатия следует, что если хотя бы один бит будет испорчен, то и все данные нужные для восстановления будут потеряны. Поэтому рекомендуется не использовать сжатие (опция &#8992;z&#9632;) для создания резервной копии при помощи команды tar.

Если ваша резервная копия не помещается на ленте, то вам надо использовать опцию --multi-volume (-M) для создания многотомных архивов:
[root@deep /]# cd /
[root@deep /]# tar cMpf /dev/st0 /home
Prepare volume #2 for /dev/st0 and hit return:

После того, как вы создали резервную копию, вы должны убедиться, что все OK, используя опцию --compare (-d):
[root@deep /]# cd /
[root@deep /]# tar dvf /dev/st0

Для резервного копирования всей системы используйте следующую команду:
[root@deep /]# cd /
[root@deep /]# tar cpf /archive/full-backup-`date '+%d-%B-%Y'`.tar \
--directory / --exclude=proc --exclude=mnt --exclude=archive \
--exclude=cache --exclude=*/lost+found .

Опция &#9632;--directory&#9632; говорит tar, что до начала резервного копирования надо перейти в следующий каталог (в нашем примере &#8992;/&#9632;). Опция &#8992;--exclude&#9632; говорит tar не создавать резервные копии заданных каталогов и файлов. Символ &#8992;.&#9632;, находящийся в конце командной строки говорит tar, что он должен копировать все в текущем каталоге.

ПРЕДУПРЕЖДЕНИЕ. Когда вы создаете резервную копию вашей системы, не включайте в нее псевдофайловую систему "/proc"! Файлы "/proc" не настояшие файлы, это просто файлоподобные ссылки к структуре ядра. Также не включайте каталоги &#8992;/mnt&#9632;, &#8992;/archive&#9632; и все &#8992;lost+found&#9632;.
Автоматизация задачи резервного копирования при помощи tar

Всегда интересно автоматизировать задачу резервного копирования. Автоматизация предлагает огромные возможности использования вашего Linux сервере для целей, которые вы поставили. Следующий пример, представляет из себя скрипт для резервного копирования, называемый &#8992;backup.cron&#9632;. Этот скрипт написан для запуска на любом компьютере, при этом, вы должны поменять только четыре переменные: COMPUTER, DIRECTORIES, BACKUPDIR и TIMEDIR. Мы считаем, что вы устанавливаете этот сценарий для запуска его в начале месяца для получения полной резервной копии, а затем используете его в течении месяца для получения добавочных копий. В нашем примере, мы создаем резервную копию в каталоге на локальном сервере (BACKUPDIR), но вы можете изменить это для использования ленты на локальном сервере или смонтированной файловой системы NFS.
Шаг 1

Создайте скрипт резервного копирования backup.cron (touch /etc/cron.daily/backup.cron) и добавьте в него следующие строки:

#!/bin/sh
# скрипт полного и добавочного резервного копирования
# создан 07 февраля 2000
# Базируется на скрипте Daniel O'Callaghan <danny@freebsd.org>
# и модифицирован Gerhard Mourani <gmourani@videotron.ca>
# Измените следующие пять переменных под вашу систему
COMPUTER=deep # имя этого компьютера
DIRECTORIES="/home" # каталог для резервного копирования
BACKUPDIR=/backups # где храним резервные копии
TIMEDIR=/backups/last-full # где сохраняем время полной резервной копи
TAR=/bin/tar # имя и расположение tar
#Вы не должны менять то, что написано ниже
PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a` # День недели, например Mon
DOM=`date +%d` # Дата, например 27
DM=`date +%d%b` # Дата и месяц, например 27Sep
# 1-го числа каждого месяца постоянно делаем полную резервную копию
# Каждое воскресенье делаем полную копию &#8730; переписываем копию от
# последнего воскресенья
# В остальное время делаем добавочную резервную копию. Каждая добавочная
# резервная копия переписывает добавочную копию с предыдущей недели, с
# тем же именем.
#
# если NEWER = "", тогда tar создает резервные копии всех файлов в каталог,
# иначе только новее чем дата в NEWER. NEWER берет дату из файла
# записываемого каждое воскресенье.
# Ежемесячная полная резервная копия
if [ $DOM = "01" ]; then
NEWER=""
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DM.tar $DIRECTORIES
fi
# Еженедельная полная резервная копия
if [ $DOW = "Sun" ]; then
NEWER=""
NOW=`date +%d-%b`
# Обновление даты еженедельной полной резервной копии
echo $NOW > $TIMEDIR/$COMPUTER-full-date
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
# Создание добавочной резервной копии &#8730; переписывание аналогичной с
# последней недели
else
# Берем дату последней полной резервной копии
NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`"
$TAR $NEWER -cf $BACKUPDIR/$COMPUTER-$DOW.tar $DIRECTORIES
fi

Здесь приводится список файлов созданных после недели работы данного скрипта:
[root@deep /]# ls -l /backups/
total 22217
-rw-r--r-- 1 root root 10731288 Feb 7 11:24 deep-01Feb.tar
-rw-r--r-- 1 root root 6879 Feb 7 11:24 deep-Fri.tar
-rw-r--r-- 1 root root 2831 Feb 7 11:24 deep-Mon.tar
-rw-r--r-- 1 root root 7924 Feb 7 11:25 deep-Sat.tar
-rw-r--r-- 1 root root 11923013 Feb 7 11:24 deep-Sun.tar
-rw-r--r-- 1 root root 5643 Feb 7 11:25 deep-Thu.tar
-rw-r--r-- 1 root root 3152 Feb 7 11:25 deep-Tue.tar
-rw-r--r-- 1 root root 4567 Feb 7 11:25 deep-Wed.tar
drwxr-xr-x 2 root root 1024 Feb 7 11:20 last-full

ЗАМЕЧАНИЕ. Каталог в котором вы планируете хранить резервные копии (BACKUPDIR) и каталог , где запоминаете время (TIMEDIR) должны быть созданы до запуска этого скрипта, иначе вы получите сообщение об ошибке.
Шаг 2

Если вы не запустили этот скрипт вначале месяца (1 день месяца), добавочным резервным копиям для корректной работы будет нужно время полной воскресной резервной копии. Если вы запускаете скрипт в середине недели, вам нужно создать файл со временем в TIMEDIR. Для этого выполните следующую команду:
[root@deep /]# date +%d%b > /backups/last-full/myserver-full-date

где </backups/last-full> ваша переменная TIMEDIR, описывающая место хранения даты последней полной резервной копии, а <myserver-full-date> - это имя вашего сервера (например, deep); наш файл времени состоит из одной строки содержащей дату (например 15-Feb).
Шаг 3

Сделайте скрипт исполняемым и измените права доступа к нему (755).
[root@deep /]# chmod 755 /etc/cron.daily/backup.cron

ЗАМЕЧАНИЕ. Так как этот скрипт расположен в каталоге &#8992;/etc/cron.daily&#9632;, он будет автоматически выполняться в час ночи каждый день.
Восстановление файлов с tar

Более важным, чем выполнение регулярных резервных копий, является их доступность в момент, когда надо восстановить информацию! Здесь мы рассмотрим методы восстановления файлов, которые были скопированы командой &#8992;tar&#9632;.

Следующая команда будет восстанавливать все файлы из архива &#8992;full-backup- Day-Month-Year.tar&#9632;, который является примером резервной копии нашего каталога &#8992;home&#9632; и был создан в нашем примере описанном выше. Для восстановления полной резервной копии каталога &#8992;home&#9632; используйте следующую команду:
[root@deep /]# cd / [root@deep /]# tar xpf /dev/st0/full-backup-Day-Month-Year.tar

Вышеприведенная команда извлекает все файлы, содержащиеся в архиве, сохраняя оригинальные значения владельцев файлов и прав доступа к ним.

Опция &#8992;x&#9632; обозначает извлечение файлов.
Опция &#8992;p&#9632; сохраняет права доступа.
Опция &#8992;f&#9632; указывает на то, что следующим аргументом является имя архива или устройства.

Если вам не надо извлекать все файлы и каталоги из архива, вы можете указать, что вам нужно.

Для задания одного или более файлов, которые вы хотите извлечь из архива используйте следующую команду:
[root@deep]# cd /
[root@deep]# tar xpf /dev/st0/full-backup-Day-Month-Year.tar \
home/wahib/Personal/Contents.doc home/quota.user

Вышеприведенная команда извлекает файлы &#8992;/home/wahib/Personal/Contents.doc&#9632; и &#8992;/home/quota.user&#9632; из архива. Если вы хотите посмотреть, какие файлы находятся в архиве, то используйте опцию --list (-t):
[root@deep /]# tar tf /dev/st0

ПРЕДУПРЕЖДЕНИЕ. Если вы имеете в своей системе файлы с установленным битом &#8992;постоянства&#9632;, то используйте команду &#8992;chattr +i&#9632;, так как этот бит не сохраняется при резервном копировании при помощи команды tar.
Тестирование возможности восстановления из резервных копий

Для многих системных администраторов, восстановление файлов из резервной копии редкое действие. Периодическое выполнение проверки возможности восстановления файлов из резервных копий поможет вам выявить проблемы с процедурами резервного копирования, чтобы вы могли скорректировать их до того, как потеряете данные. Некоторое программное обеспечение восстановления файлов некорректно восстанавливает права доступа и владельца файлов. Проверьте атрибуты восстановленных файлов, чтобы они были установлены правильно. Периодически тестируйте возможность полного восстановления системы из ваших резервных копий

Ну вот наверное и все про backup в пределах этой темы может немного сумбурно но надеюсь кому то это поможет.

Приветствуется замечания критика и дополнения из личного опыта









Автор: Borgia
Дата сообщения: 03.03.2005 14:11
Организация Небольшой сети на linux Fedore Core3
Часть девятая NFS - Network Filesystem


Определение
Сетевая файловая система NFS

NFS (эта аббревиатура чаще всего расшифровывается как Network File System, хотя в одном из источников я встретил расшифровку Network File Sharing) — это протокол, разработанный Sun Microsystems для разделения ресурсов (файлов и каталогов) локальной сети. NFS-клиент "монтирует" файловую систему, "экспортируемую" NFS-сервером. Смонтированная таким образом файловая система представляется на клиентском компьютере как часть локальной файловой системы.

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

Для того чтобы воспользоваться файловой системой NFS, должны быть выполнены два условия:

1. поддержка файловой системы NFS должна быть встроена в ядро Linux или быть доступна в виде модуля;
2. в сети должен иметься компьютер, на котором работает NFS-сервер. При этом в файлах настройки этого NFS-сервера должно быть указано, что вашему компьютеру разрешен доступ по NFS.

В систему Redhat-Fedora Nfs устанавливается по умолчанию и также автоматически стартует при загрузке компьютера. ( при условии что мы отметили его в сценарий загрузки ntsysv. если нет то из под рута в консоле дайте команду ntsysv и выставите * напротив nfs)


NFS - клиент - серверная реализация
И так еще раз
NFS server предостовляет определенные ресурсы определенным клиентам -станциям
NFS клиент монтирует или подключает разрешенные рессурсы на серверной части.


Теперь можно задаться вопросом а зачем нам это нужно? Ну если сеть у нас состоит из компьютеров на базе линукс то логично предположить что и организацию фаилового сервера и доступ к расшаренным ресурсам лучше предоставить с помощью нативных средств линукса, К тому же одним из преимуществ Nfs -это то что подмонтируемые директории на стороне клиента выглядят как часть локальной фаиловой системы, и вот еще несколько плюсов для сранения.

ОС Windows использует для совместного доступа к файлам протокол NetBIOS, а Mac OS - протокол AppleTalk. Оба этих протокола - двухточечные; каждая система сообщает о своем присутствии в сети широковещательной рассылкой, и все машины могут динамически монтировать предоставленные в общий доступ ресурсы друг друга. Система NFS немного отличается от них тем, что использует протокол типа клиент-сервер, явно выделяя серверы, предоставляющие ресурсы в совместный доступ. Эти ресурсы в свою очередь могут быть смонтированы удаленными клиентами NFS. Таким образом, объем передаваемой по сети информации уменьшается за счет отсутствия запросов и ответов на них (как, например, в широковещательной сети Windows).

Структура NFS, однако, имеет преимущества. Сервер явно управляет тем, какие клиенты могут к нему подключаться в зависимости от имени хоста или IP-адреса. Еще одно полезное свойство системы NFS состоит в том, что, поскольку она не зависит от широковещательной рассылки в локальной сети, использующейся для выявления серверов, ее можно использовать по сети Internet точно так же, как и в локальной сети. Также NFS отслеживает целостность передаваемых данных, уменьшая вероятность их потери.
Есть конечно и минусы например NFS значительно увеличивает нагрузку на сеть. Если в сети используются медленные линии связи, то от NFS мало толку. один из основных минусов на мой взгляд это то что нельзя разграничить доступ на уровне users. Здесь только поможет разграничение на уровне file system permission.
Что повидимому обязывает нас заведением тех же юзеров на сервере. Кстати вот что нашел :

На большинстве систем не имеет значения, что числовые значения идентификаторов пользователя и группы, но если Вы используете сетевую файловую систему (Network filesystem, NFS), Вы должны иметь одни и те же uid и gid на всех системах. Это потому, что NFS также идентифицирует пользователей по числовым uid. Если Вы не используете NFS, Вы можете позволить вашему инструменту создания пользоваьелей выбирать их автоматически.

Если Вы используете NFS, вы должны изобрести механизм для синхронизирования информации о пользователях и группах. Одним из вариантов является система NIS.

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

Кстати интересно услышать мнение гуру по этому поводу

Теперь надо проверить действительно ли у нас установлены нужные пакеты

#rpm -qa | grep nfs
nfs-utils-1.0.6-39
system-config-nfs-1.2.8-1

Нам также нужно проверить установлен ли у нас пакет прог. portmap. Что это такое?
Nfs представляет собой класс протоколов, При работе Nfs применяется процедура отображения портов . Специальная программа связывается с фиксированным портом ( 111) и перенаправляет обращения клиентов на требуемые порты (nfs чаще всего использует порт UDP 2049 . Весь процесс обмена данными базируется на применении протокола RPC ( Remote Procedure Call -удаленный вызов процедур)
Процедуру отображения портов реализует программа portmap , которая обычно запускается при выполнении загрузки сетевых средств.

# rpm -q portmap
portmap-4.0-63

Перейдем к серверу. Нам надо указать на сервере какие ресурсы мы разрешим в (расшарим) и кому . Реализуется это конфигурацией фаила /etc/exports .

И так наш сценарий
1. доступ всем и разрешение на чтение в подсети 192.168.1.0./24 к каталогу data /var/data/files
2. доступ всем и разрешение на чтение запись в подсети 192.168.1.0./24 к каталогу home /home
3. доступ на чтение и запись станции с адресом 192.168.1.254 к каталогу database /var//data/database
Пишем в фаил /etc/exports
#/etc/exports
/var/data/files 192.168.1.0/24(ro,sync)
/home 192.168.1.0/24(rw,sync)
/var/data/database 192.168.1.254/32(rw,sync)

Теперь 3 этапа для подговки сервиса к работе

1. Используем комманду chkconfig что бы сервис загружался при старте компьютера

# chkconfig --level 35 nfs on
# chkconfig --level 35 nfslock on
# chkconfig --level 35 portmap on
( можно для этого использовать так же визард ,,ntsysv,,)

2. Теперь стартуем сами сервисы .

# service portmap start
# service nfs start
# service nfslock start

( для остановки или рестарта сервиса команда service nfs stop : service nfs restart )

Теперь проверим коректность наших установок с помощью команды ,, rpcinfo ,, Мы должны получить список RPC программ включая mountd, portmapper, nfs, nlockmgr.

3. # rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32769 status
100011 1 udp 692 rquotad
100011 2 udp 692 rquotad
100011 1 tcp 695 rquotad
100011 2 tcp 695 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 udp 32770 nlockmgr
100021 3 udp 32770 nlockmgr
100021 4 udp 32770 nlockmgr
100021 1 tcp 32772 nlockmgr
100021 3 tcp 32772 nlockmgr
100021 4 tcp 32772 nlockmgr
100005 1 udp 708 mountd
100005 1 tcp 711 mountd
100005 2 udp 708 mountd
100005 2 tcp 711 mountd
100005 3 udp 708 mountd
100005 3 tcp 711 mountd

Все на этом с конфигурацией сервера пока закончено. переходим к клиентской части.


Конфигурация NFS на клиенте.

Кофигурация на клиенте очень похожа на серверную с небольшими отличиями , происходит также в три этапа

1. Используем комманду chkconfig что бы сервис загружался при старте компьютера
# chkconfig --level 35 netfs on
# chkconfig --level 35 nfslock on
# chkconfig --level 35 portmap on


2. Теперь стартуем сами сервисы .

# service portmap start
# service netfs start
# service nfslock start


Теперь проверим коректность наших установок с помощью команды ,, rpcinfo ,, Мы должны получить список RPC программ portmapper, nlockmgr
3. # rpcinfo -p
rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32830 status
100024 1 tcp 33538 status
( странно но nlockmgr в списке я не увидел ну ладно пока пойдем дальше)

Теперь нужно продумать куда нам создавать mount point то есть на какую директорию мы будем проэцировать рашаренные папки на сервере. Один из вариантов создать mount point в директории /mnt например mnt/dfs , с другой стороны для юзера это не очень удобно намного логичнее было бы проэцировать на Desktop или на виртуальную папку Computer (что находиться на Desktop юзера , кстати интересная такая папка , как к ней подступиться я так и не понял ) У каждого из вариантов есть свои + - . Например если на станции работает несколько юзеров то нужен вариант диретории не зависящий от имени юзера как например /home/username /Desktop/xxx ( хотя может тут есть вариант обойти это с помощью какой нибудь переменной типа %USERNAME% - аналогия с виндовс.) Я попробую вариант с Desktop хотя вариант с виртуальной папкой Computer тоже интересный при условии что он не зависит от username.
Интересно услышать мнение гуру по этому поводу.

И так варианты монтирования папок.
1. Manual то есть вручную.
Создаем папку dfs в /home/andreys/Desktop/dfs и в ней папки files, home, database (можно из под users ) Затем уже из под рута даем команду

#mount -t nfs 192.168.1.252:/var/data/files /home/andreys/Desktop/nfs/files
#mount -t nfs 192.168.1.252:/home /home/andreys/Desktop/nfs/home
#mount -t nfs 192.168.1.252:/var/data/database /home/andreys/Desktop/nfs/database

И уже под юзером проверяем результат . Размонтировать директории можно с помощью команды ,,umount,, например:
#umount home/andreys/Desktop/nfs/files

2. Вариант это автомонтирование при старте компьютера с помошью ,,fstab,, например :
#/etc/fstab

#Directory Mount Point Type Options Dump FSCK

192.168.1.252:/var/data/files /mnt/nfs/ nfs soft,nfsvers=2 0 0

Теперь немного расмотрим опции при монтировании

bg - Retry mounting in the background if mounting initially fails
fg - Mount in the foreground
soft - Use soft mounting
hard - Use hard mounting
rsize=n - The amount of data NFS will attempt to access per read operation. The default is dependent on the kernel. For NFS version 2, set it to 8192 to assure maximum throughput.
wsize=n - The amount of data NFS will attempt to access per write operation. The default is dependent on the kernel. For NFS version 2, set it to 8192 to assure maximum throughput.
nfsvers=n - The version of NFS the mount command should attempt to use
tcp - Attempt to mount the filesystem using TCP packets: the default is UDP.
intr- If the filesystem is hard mounted and the mount times out, allow for the process to be aborted using the usual methods such as CTRL-C and the kill command.
И если с опциями bg fg вообщем то все понятно , то soft и hard вызывают ряд вопросов. Вот что я нашел по этому поводу http://www.mgul.ac.ru/~t-alex/Linux/NFS-HOWTO/NFS-HOWTO-4.html

soft

NFS клиент будет сообщать об ошибке программе, которая пытается получить доступ к файлу расположенному на файловой системе, смонтированной через NFS. Некоторые программы довольно хорошо обрабатыают такого рода ошибки, но большинство программ не делают это. Я не рекомендую использование этой опции, она может привести к появлению испорченных файлов и потерянных данных. Вы особенно не должны использовать эту опцию для дисков, используемых для почты, если ваша почта что-то значит для вас.

hard

Программа осуществляющая доступ к файлу на смонтированной по NFS файловой системе просто приостановит выполнение при разрыве связи с сервером. Процесс не может быть прерван или убит до тех пор, пока вы явно не укажите опцию intr. Когда сервер NFS будет запущен заново, то программа продолжит безмятежно продолжать работу с прерванного места. Это скорее всего то, что вам нужно. Я рекомендую использовать опции hard,intr на всех файловых системах смонтированных через NFS.

rsize wsize мы трогать не будем ( с помощью этих опций можно производить оптимизацию Nfs)
А вот к nfsvers у меня вопрос . Какой командой я могу выяснить версию Nfs ?

После того как вы внесли изменения в фаил fstab необязательно делать рестарт. Командой
# mount -a можно заставить систему подмонтировать директории (этот команда как раз и читает фаил /etc/fstab )

Ну вот и расмотрены два простых варианта подключения Nfs , остался еще один вариант имхо более сложный но элегантный с помощью Nfs automounter . Ну это в следующий раз -если разберусь.

Как всегда приветсвуется критика дополнения и т.д
Автор: 4Iner
Дата сообщения: 09.03.2005 21:32
2 Borgia

Цитата:
Добавлено
между прочим обратил внимание что redhat-fedora очень не любит несколько карточек одного вида, он видно не может им назначить разные прерывания


поставь их дальше друг от друга в PCI слотах для решения IRQ проблемы
Автор: knyshow2
Дата сообщения: 10.03.2005 13:23

Цитата:
поставь их дальше друг от друга в PCI слотах для решения IRQ проблемы

не помогает...
Автор: Borgia
Дата сообщения: 15.03.2005 23:56
Организация Небольшой сети на linux Fedore Core3
Часть восьмая резервирование данных (Backup)Дополнение

Небольшое добавление про backup.
Или вернее к одной из его разновидностей создавание имиджей станций . В начале заметки я упоминал о разных программах некоторые уже знакомы из мира виндовс .

ghost, acronis http://www.desktop-linux.net/backups.htm или бесплатных под линукс Partimage http://www.partimage.org/ , Mondo Rescue http://www.mondorescue.org/ http://www.chem.vu.nl/~stol/Mondo-Rescue-Mindi-Linux-HOWTO.pdf , Ghost for Linux http://freshmeat.net/projects/g4.

Вполне возможно что для некоторых это одно из дополнительных требований ,а возможно что некоторым большего и не нужно .
Так вот вкратце то с чем я столкнулся . работая в одной крупной организации (по числу станциий и серверов) но как все гос учереждения не богатой бюджетом. Начальство пришло к выводу что пора подчищать хвосты ( всмысле заканчивать использовать нелицензионное по. во всех сферах) и столкнулись с тем что покупка одной из тривиальных программ, с помощью которой техники делают имиджи обойдется в очень крупную сумму. так как лицензия покупается на рс. а не на техника как они вначале думали. Пришлось мне искать замену в стороне опенсурса . Впринципе я уже щупал некоторые из них но так поверхностно. А тут так сказать приперло. (..спасибо.. мне конечно не скажут но тут я уже пошел на принцип , тем более что это еще одна возможность обратить внимание начальство в сторону опенсурс и постораться протащить решение на его основе )

Еще раз просканировал интернет в надежде что может чего то пропустил . Задача вначале казалось не из легких . Надо не забывать что нужно решение по своим возможностям не хуже или не намного хуже платных аналогов но и достаточно юзабельное . Не могу я предложить людям консоль и команду dd .
тем более что с линуксом они знакомы только по наслышке.
основные требование которые я поставил перед продуктом функции схожие с програмой ghost Симантека.
1 возможность бута с сдром + дискет драйв
2 возможность создать имидж локально ( с партиции с на d) и рестор имиджа
3 возможность создать имидж партиции и скопировать его по сети на сервер и также рестор имиджа по сети с сервера на станцию ( так называемый multicast server)
4 клонирование диск в диск

Свое внимание я остановил на продукте под название Ghost4linux и как не банально, на дистрибутиве knoppix. Теперь по порядку.

Ghost4linux

http://freshmeat.net/projects/g4l

Очень интересный продукт он сочетает в себе несколько программ и интересных решений.
1 Во первых это боот сдром и гуи в стиле программы ghost ( что уже большой плюс)
при боте предлагается в вести g4l , что мы деиствительно хотим загрузиться с него. Дальше строка приглашения воити в систему вводим g4l( g4l - user root в системе) и запускаем програму ./g4l
2 Он предлагает несколько решений
а. создавание имиджей используя raw mode . при этом как локально так и по сети на ftp server.
А так же рестор имиджей с ftp server .( надо лиш создать на сервере ftp в руте каталог ,,img ,, c доступом read ,write для анонимус)
в. выбор target - destination partition ( какую партицию на-куда копировать , правда в стиле линукс -hda1, hda5 но это не так сложно обьяснить)
с. выбор сетевой карточки и определения ip как вручную так и с помощью dhcp
d. три вида компресии
е. клонирование диска один в один
f.несколько сетевых утилит типа ping traceroute
g. работа с множеством фаиловых систем в том числе ntfs, fat, ext3, raiserfs
Так же заявлена поддержка SATA, USB drive, Gigabite lan ( сам еще не пробовал) ну и само собой SCSI и тд .
В последней версии эксперементальная поддержка протокола UDP (что должно по идее повысить скорость передачи данных по сети и копирование сразу на несколько станций)

Единственный минус это нет возможности забутиться с дискет а также относительно долгое время создание имиджей - 12 Gb партицию с 4.5 gb даты у него заняло порядка 30 -35 минут, и на выходе достаточно большой фаил (ну вобщем то не удивительно все таки это raw mode) рестор был раза в три быстрее.


Вторая опция это выбор в меню опции ,,file mode,, - использование программы ,,partimage,, Основное отличие что она работает по принципу ghost то есть она не копирует баит в байт партицию а только находящуюся там дату .что ускоряет сам процесс и уменьшает на выходе сам фаил.
Програма существут в двух видах
1.client mode ( клиентская часть позволяющая сделать имидж локально или подключиться к серверу и скинуть или забрать с него)
2. собственно сам сервер который занимает пасивную роль он ждет подключение клиентов . Помоему до 15(а может быть и больше) и ему всеравно можно одновремено закидывать и забирать имидж.( имхо есть в этом свой плюс в отличие от того же ghost multicast где нужно было подключиться с клиентом . а потом бежать к самому серверу и нажимать кнопку send, а если это в разных концах здания?) То есть на клиентской части решается будете вы делать push или down

Теперь о вкусностях. В реализации Ghost4linux вы можете превратить свою станцию в (назовем это) image server ( multicast будет сказать не правильно) путем выбора нескольких опций в меню
1.выбирается сетевая карточка
2. назначается ей IP ( к сожалению здесь опции dhcp не предусматривается )
3.выбирается партиция где лежат или будут закачиваться имиджи ( здесь небольшая тонкость он монтирует партицию к каталогу ,, /mnt/local ,, это вам понадобиться когда вы будете на клиентской части указывать где на сервере лежат имиджи )
4. выбирается сама опция сервер
вы попадаете в окно серого цвета( окно сервера) где будет видно кто подключился и сколько скачано и закачано
Все !!! На все про все максимум 1.5 -2 минуты и ваш сервер готов к работе . Теперь мы можем спокоино вытащить наш боот сд и идти к станции с которой будем создавать имидж.
Поднимаем ее с этого же боот сд выбираем в меню ,,file mode,, затем в следующем меню первые два пункта теже самые

1.выбирается сетевая карточка (при условии работы по сети с сервером)
2. назначается ей IP (при условии работы по сети с сервером) ( к сожалению здесь опции dhcp не предусматривается )
3. выбирается опция client mode /local
и попадаем в меню клиентской части partimage .
Меню программы достаточно интуитивно .
1. выбирается партиция которую будем клонировать или на которую будем возвращать (restor) имидж.
2. Здесь лично для меня была засада . Наивно полагая что если мне дали возможность выбора партиции которую будем клонировать или на которую будем возвращать имидж я также надеялся увидеть меню выбора куда я смогу ее положить или откуда я смогу ее взять . Хм наивный. ( имхо здесь просто разработчики не доделали во всяком случае в local mode или не успели - об этом после)
И так по порядку
1.вариант первыи локальный - клонирование например партиции hda1 (диск с аналогия с виндовс ) и сохранение имиджа на диск hda5 ( диск D)
На самом деле все не так сложно .
Поднимаем станцию с боот сд . Выбираем в меню опцию ,,file mode,, затем ,,client local mode,,
попадаем в меню программы.
1. выбирается партиция которую будем клонировать или на которую будем возвращать (restor) имидж.
Дальше Тонкость состоит в том что нам надо указать PATH куда мы сможем имидж положить и под каким именем или откуда мы сможем его взять в случае restor.
Во первых мы в линуксе значит должна быть поддержка нескольких консолей. Нажимаем CTR ,ALT, F2 и попадаем в другую консоль с предложением нажать ENTER . В водим ,,g4l,, и мы в системе .
Осталось лиш подмонтировать партицию(hda5 - диск d) к виртуальному каталогу в нашем случае /mnt/local
( если вы сомневаетесь и не знаете что вписывать- hdyx?? даите команду
($fdisk -l ( Показывает информацию о хардиске а также информацию о партициях )

пишем
$mount -t vfat /dev/hda5 /mnt/local
проверить очень просто дайте команду
$df -h ( должен показать подмонтированые диски и сколько на них свободного места что тоже иногда полезно посмотреть ) например
/dev/hdа5 37G 34G 1.3G 97% /mnt/local
Если вы хотите подсмотреть какое имя вы дали вашему имиджу в прошлый раз ( в случае restor )
$ls -la /mnt/local
На этом все ( надеюсь наши техники с этим справятся) Возвращаемся в окно программы CTR ,ALT, F1
И прописываем в PATH : /mnt/local/имя_фила.img
Выбираем save partition или рестор
Нажимаем F5 -next , выбираем опцию сжатия по умолчанию gzip (имхо вполне достаточно)
Есть также опция просканировать перед клонированием , а также разбить имидж на несколько файлов по заданому размеру . Поэтому если вам это не нужно увеличте размер фаила после которого программа начнет его разбивать ( по умолчанию 2gb)
Дальше как говорят next, next. Кстати вот картинки и за одно доп. документация на саите авторов программы . partimage
http://www.partimage.org/screenshots.en.html

Вариант второй клонирование или рестор с ,,image server,, по сети .
Здесь все намного проще

1.выбирается сетевая карточка (при условии работы по сети с сервером)
2. назначается ей IP (при условии работы по сети с сервером) ( к сожалению здесь опции dhcp не предусматривается )
3. выбирается опция client mode /local
4.выбирается партиция которую будем клонировать или на которую будем возвращать (restor) имидж.

5.прописываем в PATH : /mnt/local/имя_фила.img ( сервер по умолчанию монтирует выбранную партицию к каталогу ,, /mnt/local ,,
6.Выбираем save partition или рестор
7.выбирается опция ,,connect to server,,
8. прописывается ip сервера
Дальше все аналогично варианту локал моде .

Вот собственно все что касается варианта Ghost4linux. Проэкт все время в движение обратите внимание что на дом, странице офицальная версия программы старая но в коментах ниже на странице есть постоянные изменения версии и выложены они на фтп автора адресс там же .
Теперь немного о грустном проэкт PARTIMAGE как я понял уже давно заморожен и не развивается что очень жаль так как дейтствительно толковые и нужные программы. И сегодня если бы он развивался в нем было бы на много больше разных возможностей.
И так можно подвести итоги Ghost4linux. как вы поняли это боот сд который включает в себя две возможности создания имиджей 1. RAW MODE ( я насколько понял что под гуй используются известные программы и команды в линуксе , просто человек сделал толковый гуи и собрал это все вместе , за что ему огромная благодарность)
2. FILE MODE ( используется программа PARTIMAGE )
Для себя основным инструментом я выбрал именно PARTIMAGE. но именно в составе Ghost4linux. так как он мне дает выбор , (есть конечно вещи которые хотелось бы добавить ( это Midnight Commander и возможность монтировать диски на сетевых комп. через SMB протокол и желательно без гуй что бы не утежелять достаточно Midnight Commander ) По большому счету все те требования которые я предьявил к программе он покрывает с лихвой.

Кстати кто ищет возможность ботиться с дискет вот адрес
http://prdownloads.sourceforge.net/partimage/ есть образы 2 дискет которые поднимают комп и запускают partimage( boot-disk, root-disk) версия к сожалению не последния. но все работает,

Почему я упоминул knoppix ? Там тоже присутствует partimage - это для тех кто панически боиться комманднои строки .

Теперь каким боком это все относиться к нашей теме ?
Организация Небольшой сети на linux Fedore , и backup , ну про backup я обьяснил в самом начале .
К нашей сети это относиться тем что сервер PARTIMGED очень легко ставиться на наш backup server. Через apt-get (кто не знает что это такое пишите) или скачиваете отсюда
http://apt.sw.be/fedora/3/en/i386/RPMS.dag/partimage-server-0.6.4-1.1.fc3.rf.i386.rpm
$rpm - ivh partimage-server-0.6.4-1.1.fc3.rf.i386.rpm

Запускается вручную или как сервис через ,,ntsysv,,
$partimaged --help
===============================================================================
Partition Image Daemon (http://www.partimage.org/) version 0.6.4
---- distributed under the GPL 2 license (GNU General Public License) ----

usage: partimaged [options]

Options:
* -h, --help show help
* -v, --version show version
* -d, --dest destination directory
* -pX, --port=X server's port listening (defaults to 4025)
* -D, --daemon start in daemon mode, not foreground
* -i, --compilinfo show compilation options used
* -r dir, --chroot dir use chroot to improve security
* -g, --debug=X set the debug level to X (default: 1)
* -L, --nologin disable login from clients
Следует обратить внимание на следующие опции

* -d, --dest destination directory( выбор директории где будут лежать имиджи не забудьте что этот же path вы будете указывать на клиенте)
* -L, --nologin disable login from clients( я лично выбрал эту опцию но если вы переживаете по поводу security то вам надо создать фаил в /etc/partimaged/partimagedusers и туда вписать имена юзеров которым позволено конектится к серверу)
Вот собственно и все теперь вы сможете с легкостью бекапить имиджи на ваш сервер .
Ps.
Описываю с чем столкнулся. Это касается если вы проинсталировали partimaged на сервер.

Если с ручным запуском все понятно . То с работой в daemon mode не все так просто . ( кстати не забываем что после установки программы он прописывается в init.d и выставить на автозагрузку можно в визарде ntsysv из под рута в консоле)
1 вопрос с чем я столкнулся это как запустить в daemon mode чтоб он при перезапуске сервиса помнил те настройки которые я задал. Например опция -L, --nologin disable login from clients и * -d, --dest destination directory путь к папке куда он складывает имиджи. Оказывается есть еще один конфигурационный фаил

/etc/sysconfig/partimaged

cat /etc/sysconfig/partimaged
### See partimaged --help for more information on these options.
###

#OPTIONS="--port=4025 --chroot /var/partimaged --nologin"

Как здесь и написано беря опции из хелпа можно записать в этом конфигурационном фаиле то что нам надо . Например
OPTIONS="--port=4025 --dest /var/partimaged --nologin" ( Не забываем про пермишен на папку для записи)

(Кстати почему я использую опцию --nologin потому что в дистрибутиве Ghost4linux - Partimage скомпилирован без этой поддержки)
Все работает четко теперь при загрузки имиджа на сервер в client partimage не надо помнить и прописывать PATH, Он сам знает куда ложить имидж . Тоже самое касается и рестор - надо только помнть имя фаила.

Проблема вторая с которой столкнулся и пока она решена имхо частично
2. Проблема состоит в том что при загрузки имиджа на сервер , фаилу выставляется gid юзера - partimag. Причем только ему дается rw (rw- --- --- )
Соответственно что если понадобиться например сделать рестор имиджа то его просто не видно .

( хм интересно что думают сами разработчики по этому поводу - опции chown они не дают)

Здесь очень интересуют ваши мысли по этому поводу как это можно красиво обойти

первое что пришло в голову создать скрипт с командой взятой из топика ,,Интересные команды при работе с Linux ,,
http://forum.ru-board.com/topic.cgi?forum=62&topic=4149#1
$vi script.sh

#!/bin/sh
find /var/partimaged -type f -exec chmod 666 {} \;


Потом вставить его в cron
$ crontab -e
# каждые две минуты менять пермишен на все фаилы в папке partimaged rw для всех
2 * * * * /xxx/script.sh

но чего-то у меня зто не работает - хотя в ручную все ок!
С другой стороны как то не очень красиво имхо.
Как всегда жду ваши отзывы и предложения .




Автор: Aqueelone
Дата сообщения: 14.04.2005 13:35
Тут еще замечание по squid.conf .
Желательно биндить его на конкретный адресс,
иначе возможны проблемы с open_relay_banning_system.
где-то как-то иногда сквид подглючивает и
в случае ежели нет принудительной авторизации со стороны
внутреней сети, но указано разрешение только на внутренюю сеть,
он может пропускать релэй со внешней сети...


Цитата:

# TAG: http_port
#Default:
http_port 3128


меняем в твоем случае на (с учетом что у нас третья федора, то есть сквид более менее новый!)


Цитата:

# TAG: http_port
#Default:
http_port 192.168.20.1:3128
http_port 192.168.30.1:3128

Автор: Dr_Spectre
Дата сообщения: 15.04.2005 08:44

Цитата:
Тут еще замечание по squid.conf .
Желательно биндить его на конкретный адресс,
иначе возможны проблемы с open_relay_banning_system.


Это если админ ленивый и INPUT на внешний интерфейс в файрволе не расписал правильно.

Страницы: 123

Предыдущая тема: Перемещаемые профили: синхронизация между контроллерами


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.