пятница, 25 декабря 2009 г.

Windows Deployment Services - краткое знакомство

Для ознакомления с наследником сервиса Remote Installation Services осуществил попытку развернуть тестовую инфраструктуру Windows Deployment Services. Разворачивал инфраструктуру на виртуальных машинах VMWare vSphere.


Столкнулся с неожиданно большим количеством проблем, порой сложно объяснимых.

Для руководства к действиям использовал очень подробное и толкове описание процедуры разворачивания сервиса от Mitch Tulloch.

Оригинальная статья - http://www.windowsnetworking.com/articles_tutorials/Deploying-Vista-Part14.html

Ее перевод на русский язык - http://www.redline-software.com/rus/support/articles/networking/vista/deploying-vista-part14.php

И, конечно, ресурсы technet.microsoft.com - http://technet.microsoft.com/ru-ru/library/cc725921%28WS.10%29.aspx


Сперва попробовал установить службу Windows Deployment Service на Windows Server 2003 R2. Она входит туда как альтернатива RIS и доступна к установке. Служба установилась в режиме "native" (использование образов *.wim) без особых проблем. Но по какой-то причине, после конфигурирования сервера, не были установлены загрузочные образы типа pxeboot.com и т.п. Само собой при этом загрузка удаленного клиента была невозможна.

После непродолжительных попыток решить эту проблему было принято решение попробовать развернуть WDS на ОС Windows Server 2008. Что было проделано быстро и без проблем. После установки и начального конфигурирования служба заработала в штатном режиме. Все загрузочные образы были установлены, удаленная загрузка клиентов проходила нормально.

Далее возникли проблемы с использованием загрузочных образов ОС. Файлы boot.wim из дистрибутивов Windows Vista SP1 и Windows 7 копировались и устанавливались успешно. Файлы install.wim из дистрибутивов Windows Vista SP1 и Windows 7 также копировались без проблем. Но при попытке загрузить и запустить их на клиентской машине по сети возникала бодрая ошибка в текстовом режиме об отсутствии или повреждении реестра системы и нехватке файлов. Похожая ошибка возникала на обоих дистрибутивах.

Мои подозрения - отсутсвие драйверов к стандартной конфигурации моей клиентской виртуальной машины.

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

Попытки создать образ операционной системы при помощи образа "Capture" закончились поражением из-за отстутствия каких-либо разделов в меню выбора дисков для их копирования на сервер удаленной установки. Даже после рекомендованной обработки клиентской машиной утилитой sysprep.exe ситуация не изменилась.

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

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

Сделал для себя вывод о выделении дополнительного времени на исследования сервиса при необходимости его внедрения в будущем.


LPI exam 101 prep: GNU and UNIX commands

В рамках подготовки к сдаче экзамена 101 уровня Junior Level Linux Professional LPIC-1 публикую краткие описания команд и фактов из подготовительных материалов IBM к этому экзамену.

Using the command line

Shells also use three standard I/O streams:
• stdin is the standard input stream, which provides input to commands.
• stdout is the standard output stream, which displays output from
commands.
• stderr is the standard error stream, which displays error output from
commands.

echo command prints (or echos) its arguments to the terminal

all the extra spaces were compressed down to single
spaces in the output. To avoid this, you need to quote strings, using either double
quotes (") or single quotes (').

Normally echo will append a trailing
new line character to the output. Use the -n option to suppress this. Use the -e
option to enable certain backslash escaped characters to have special meaning.

When the backslash
character (\) is not quoted, it serves as an escape to signal bash itself to preserve
the literal meaning of the following character.

The simplest command sequence is just two commands separated by a semicolon
(;). Each command is executed in sequence. In any programmable environment,
commands return an indication of success or failure; Linux commands usually return
a zero value for success and a non-zero in the event of failure. You can introduce
some conditional processing into your list using the && and || control operators. If
you separate two commands with the control operator && then the second is
executed if and only if the first returns an exit value of zero. If you separate the
commands with ||, then the second one is executed only if the first one returns a
non-zero exit code.

You can terminate a shell using the exit command.

Some common bash environment variables

USER The name of the logged-in user
UID The numeric user id of the logged-in user
HOME The user's home directory
PWD The current working directory
SHELL The name of the shell
$ The process id (or PIDof the running bash shell (or other)
process
PPID The process id of the process that started this process (that is, the id
of the parent process)
? The exit code of the last command

[ian@echidna ian]$ echo $USER $UID
ian 500
[ian@echidna ian]$ echo $SHELL $HOME $PWD
/bin/bash /home/ian /home/ian

use the export command to export a variable name.

Sometimes you need to use variables in expressions where the meaning is ambiguous. In such cases, you can use curly braces to delineate a variable name

[ian@echidna ian]$ echo "-$HOME/abc-"
-/home/ian/abc-

The env command without any options or parameters displays the current environment variables.

use the unset command to unset a variable and remove it from the shell variable list

use the set command to control many facets of the way bash (or other shells) work

use the exec command to run another program that replaces the current shell.

history
Displays the entire history
history N
Displays the last N lines of your history
history -d N
Deletes line N form your history; you might do this if the line contains a
password, for example
!!
Your most recent command
!N
The Nth history command
!-N
The command that is N commands back in the history (!-1 is equivalent to !!)
!#
The current command you are typing
!string
The most recent command that starts with string

Emacs keystroke combinations are usually expressed as C-x or M-x,
where x is a regular key and C and M are the Control and Meta keys, respectively.
On a typical PC system, the Ctrl key serves as the Emacs Control key, and the Alt
key serves as the Meta key.

If you use cd with no parameters, the change
will be to your home directory. A single hyphen (-) as a parameter means to change
to the previous working directory. Your home directory is stored in the HOME
environment variable, and the previous directory is stored in the OLDPWD variable,
so cd alone is equivalent to cd $HOME and cd - is equivalent to cd $OLDPWD.
Usually we say change directory instead of the full change current working directory.

The primary (and traditional) source of documentation is the manual pages, which
you can access using the man command.

The common manual sections, with some example contents
are:
1. User commands (env, ls, echo, mkdir, tty)
2. System calls or kernel functions (link, sethostname, mkdir)
3. Library routines (acosh, asctime, btree, locale, XML::Parser)
4. Device related information (isdn_audio, mouse, tty, zero)
5. File format descriptions (keymaps, motd, wvdial.conf)
6. Games (note that many games are now graphical and have graphical
help outside the man page system)
7. Miscellaneous (arp, boot, regex, unix utf8)
8. System administration (debugfs, fdisk, fsck, mount, renice, rpm)

Two important commands related to man are whatis and apropos. The whatis
command searches man pages for the name you give and displays the name
information from the appropriate manual pages. The apropos command does a
keyword search of manual pages and lists ones containing your keyword.

If you wish to print the page, specify the -t option to format the page for printing using the groff or troff program.

In addition to manual pages accessible from a command line, the Free Software
Foundation has created a number of info files that are processed with the info
program.

Section 3. Text streams and filters

In order to use the output of a command, command1, as input to a filter, command2, you connect the commands using the pipe operator (|)

output redirection operator (>). output does not display on the terminal because it has been
redirected to the file.

Use the cat (short for catenate) command to display the contents of a file on stdout.

Occasionally, you might want to display a file in reverse order. Naturally, there is a
text filter for that too, called tac (reverse of cat).

GNU text utilities include an od (or Octal Dump)

The split command will do this in such a way that the cat command can be used to recreate the file easily. By default, the files resulting from the split command have a prefix in their name of 'x' followed by
a suffix of 'aa', 'ab', 'ac', ..., 'ba', 'bb', etc.

The wc command displays the number of lines, words, and bytes in a file.

Options allow you to control the output from wc or to display other information such as maximum line length.

Two commands allow you to display either the first part (head) or last part (tail).

Another common use of tail is to follow a file using the -f option, usually with a line count of 1.

Sometimes you may want to swap tabs for spaces or vice versa. The expand and
unexpand commands do this. The -t option to both commands allows you to set
the tab stops.

Use the tr command, which translates characters in one set (set1) to corresponding characters in another set (set2).

The nl command numbers lines, which can be convenient when printing files.

The pr command is used to format files for printing. The default header includes the
file name and file creation date and time, along with a page number and two lines of
blank footer.

Useful command for formatting text is the fmt command, which formats text
so it fits within margins.

The sort command sorts the input using the collating sequence for the locale
(LC_COLLATE) of the system The sort command can also merge already sorted
files and check whether a file is sorted or not.

The uniq command normally operates on sorted files, but remove consecutive identical
lines from any file, whether sorted or not.

the cut command, which extracts fields from text files.

The paste command pastes lines from two or more files side-by-side, similar to the way that the pr command merges files using its -m option.

join, which joins files based on a matching field. The files should be sorted on the join field

Sed is the stream editor. Sed is extremely powerful, and the tasks it can accomplish are limited only by your imagination. sed can work as a
filter or take its input from a file. Output is to the standard output stream. Sed loads
lines from the input into the pattern space, applies sed editing commands to the
contents of the pattern space, and then writes the pattern space to standard output.

Section 4. Basic file management

On a storage device, a file or directory is contained in a collection of blocks.
Information about a file is contained in an inode which records information such as
the owner, when the file was last accessed, how large it is, whether it is a directory
or not, and who can read or write it. The inode number is also known as the file
serial number and is unique within a particular filesystem

use ls -ld and also how to list entries for multiple files or directories.

ls -t will sort by modification time (newest to oldest) while ls
-lS will produce a long listing sorted by size (largest to smallest). Adding -r will
reverse the sort order. for example, use ls -lrt to produce a long listing sorted
from oldest to newest.

cp
is used to make a copy of one or more files. You must give at least two names,
one (or more source names and one target name. If you specify two file names,
then the first is copied to the second. Either source or target file name may
include a path specification. If you specify a directory as the last name, then
you may specify multiple files to be copied into it. All files will be copied from
their existing locations and the copies will have the same file names as the as
the original files. Note that there is no default assumption of the target being
the current directory as in DOS and Windows operating systems.

mv
is used to move or rename one or more files or directories. In general, the
names you may use follow the same rules as for copying with cp; you can
rename a single file or move a set of files into a new directory. Since the name
is only a directory entry that links to an inode, it should be no surprise that the
inode number does not change unless the file is moved to another filesystem,
in which case moving it behaves more like a copy followed by deleting the
original.

rm
is used to remove one or more files. We will see how to remove directories
shortly.

-f or --force
will cause cp to attempt to remove an existing target file even if it is not
writable.
-i or --interactive
will ask for confirmation before attempting to replace and existing file
-b or --backup
will make a backup of any files that would be replaced.

rm command also accepts the -i (interactive) and -f (force options.
Once you remove a file using rm, the filesystem no longer has access to it.

The -p option may be used to preserve selected attributes.

The mkdir, like the commands we have just been reviewing, will handle
multiple directory creation requests in one pass

Removing directories using the rmdir command is the opposite of creating them.
Again, there is a -p option to remove parents as well.

You can use the -r (or -R or --recursive) option to cause the cp command to
descend into source directories and copy the contents recursively.

A string containing any of the characters '?', '*' or '[', is a wildcard pattern. Globbing is
the process by which the shell (or possibly another program) expands these patterns
into a list of pathnames matching the pattern. The matching is done as follows.
?
matches any single character.
*
matches any string, including an empty string.
[
introduces a character class. A character class is a non-empty string,
terminated by a ']'. A match means matching any single character enclosed by
the brackets.


• The '*' and '?' characters match themselves. If you use these in filenames,
you will need to be really careful about appropriate quoting or escaping.
• Since the string must be non-empty and terminated by ']', you must put ']'
first in the string if you want to match it.
• The '-' character between two others represents a range which includes
the two other characters and all between in the collating sequence. For
example, [0-9a-fA-F] represents any upper or lower case hexadecimal
digit. You can match a '-' by putting it either first or last within a range.
• The '!' character specified as the first character of a range complements
the range so that it matches any character except the remaining
characters. For example [!0-9] means any character except the digits 0
through 9. A '!' in any position other than the first matches itself.
Remember that '!' is also used with the shell history function, so you need
to be careful to properly escape it.

the touch command which can update file access and modification times or create empty files.

find command which is used to find files in one or more directory trees, based on criteria such as name, timestamp, or size.

The -exec option can be used for as many purposes as your imagination can
dream up. For example:
find . -empty -exec rm '{}' \;
removes all the empty files in a directory tree, while
find . -name "*.htm" -exec mv '{}' '{}l' \;
renames all .htm file to .html files.

Section 5. Streams, pipes, and redirects

There are two ways to redirect output:
n>
redirects output from file descriptor n to a file. You must have write authority to
the file. If the file does not exist, it is created. If it does exist, the existing
contents are usually lost without any warning.
n>>
also redirects output from file descriptor n to a file. Again, you must have write
authority to the file. If the file does not exist, it is created. If it does exist, the
output is appended to the existing file.

Use &> or &>> to redirect both standard output and standard
error to the same place.

At other times you may want to ignore either standard output or standard error
entirely. To do this, redirect the appropriate stream to /dev/null.

we can redirect the stdout and stderr streams, so too we can redirect stdin
from a file, using the < operator.


Shells, including bash, also have the concept of a here-document, which is another
form of input redirection. This uses the << style="font-weight: bold;">| (pipe) operator between two commands to direct the stdout of the first to the stdin of the second.

The xargs command works a little like the -exec option of find, but there are some
important differences

Section 6. Create, monitor, and kill processes

the ps command which displayed process status and we saw that processes have a
Process ID (PID) and a Parent Process id (PPID)

What you need to do is place the job in the background; a bg command takes the same type of job specification as the fg command and does exactly that.

job 2 has a plus sign (+) beside the job number, indicating that it is the
current job.

The nohup command is used to start a command that will ignore hangup signals
and will append stdout and stderr to a file.

If we use the jobs command with the -p option, the
output is simply the PID of the process group leader for each job.

If you run ps several times in a row, to see what is changing, you probably need the
top command instead.

The general way to send a signal is with the kill command.

Section 7. Process execution priorities

The nice command displays our default priority.

If you happen to start a process and realize that it should run at a different priority, there is a way to change it after it has started, using the renice command.

Section 8. Searching with regular expressions

A regular expression (also called a "regex" or "regexp") is a way of describing a text
string or pattern so that a program can match the pattern against arbitrary text
strings, providing an extremely powerful search capability.

Most characters match themselves, and most metacharacters must
be escaped using a backslash (\).

+
The + operator is like the * operator, except that it matches one or more
occurrences of the preceding regular expression. It must be escaped for basic
expressions.
?
The ? indicates that the preceding expression is optional, so it represents zero
or one occurrences of it. This is not the same as the ? used in globbing.
.
The . (dot) is a metacharacter that stands for any character. One of the most
commonly used patterns is .*, which matches an arbitrary length string
containing any characters (or no characters at all). Needless to say, you will
find this used as part of a longer expression. Compare a single dot with the ?
used in globbing and .* with the * used in globbing.

The ^ (caret) matches the beginning of a line while the $ (dollar sign) matches the
end of line. So ^..b matches any two characters at the beginning of a line followed
by a b, while ar$ matches any line ending in ar. The regular expression ^$ matches
an empty line.

Range expression
A range expression is two characters separated by a - (hyphen), such as 0-9
for digits, or 0-9a-fA-F for hexadecimal digits. Note that ranges are
locale-dependent.
Named classes
Several named classes provide a convenient shorthand for commonly used
classes. Named classes open with [: and close with :]. Some examples:
[:alnum:]
Alphanumeric characters
[:blank:]
Space and tab characters
[:digit:]
The digits 0 through 9 (equivalent to 0-9)
`[:upper:] and [:lower:]
Upper and lower case letters respectively.
^ (negation)
When used as the first character in a square brackets, the ^ (caret) negates the
sense of the remaining characters so the match

Section 9. File editing with vi

vi modes
The vi editor has two modes of operation:
Command mode
In command mode, you move around the file and perform editing operations
such as searching for text, deleting text, changing text, and so on. You usually
start in command mode.
Insert mode
In insert mode, you type new text into the file at the insertion point. To return to
command mode, press the Esc (Escape) key.

:q!
Quit editing the file and abandon all changes. This is a very common idiom for
getting out of trouble.
:w!
Write the file (whether modified or not). Attempt to overwrite existing files or
read-only or other unwriteable files. You may give a filename as a parameter,
and that file will be written instead of the one your started with. It's generally
safer to omit the ! unless you know what you're doing here.
ZZ
Write the file if it has been modified. Then exit. This is a very common idiom for
normal vi exit.
:e!
Edit the current disk copy of the file. This will reload the file, abandoning
changes you have made. You may also use this if the disk copy has changed
for some other reason and you want the latest version.
:!
Run a shell command. Type the command and press Enter. When the
command completes, you will see the output and a prompt to return to vi
editing.

Moving around
The following commands help you move around in a file:
h
Move left one character on the current line
j
Move down to the next line
k
Move up to the previous line
l
Move right one character on the current line
w
Move to the next word on the current line
e
Move to the next end of word on the current line
b
Move to the previous beginning of the word on the current line
Ctrl-f
Scroll forward one page
Ctrl-b
Scroll backward one page

Moving to lines
The following commands help you move to specific lines in your file:
G
Moves to a specific line in your file. For example, 3G moves to line 3. With no
parameter, G moves to the last line of the file.
H
Moves relative to the top line on the screen. For example, 3H moves to the line
currently 3rd from the top of your screen.
L
Is like H, except that movement is relative to the last line on screen, Thus, 2L
moves to the second to last line on your screen.
Searching
You can search for text in your file using regular expressions:
/
Use / followed by a regular expression to search forward in your file.
?
Use ? followed by a regular expression to search backward in your file.
n
Use n to repeat the last search in either direction.

i
Enter insert mode before the character at the current position. Type your text
and press Esc to return to command mode. Use I to insert at the beginning of
the current line.
a
Enter insert mode after the character at the current position. Type your text and
press Esc to return to command mode. Use A to insert at the end of the current
line.
c
Use c to change the current character and enter insert mode to type
replacement characters.
o
Open a new line for text insertion below the current line. Use O to open a line
above the current line.
cw
Delete the remainder of the current word and enter insert mode to replace it.
Use a repetition count to replace multiple words. Use c$ to replace to end of
line.
dw
As for cw (and c$) above, except that insert mode is not entered.
dd
Delete the current line. Use a repetition count to delete multiple lines.
x
Delete the character at the cursor position. Use a repetition count to delete
multiple characters.
p
Put the last deleted text after the current character. Use P to put it before the
current character.
xp
This combination of x and p is a useful idiom. This swaps the character at the
cursor position with the one on its right.

четверг, 17 декабря 2009 г.

Лицензирование Microsoft Windows Server 2008 в виртуальной среде

Как подтвердил специалист из службы лицензирования Microsoft, лицензирование количества виртуальных машин с Windows Server 2008 распространяется и на гипервизоры третьих изготовителей.

Т.е. мы можем купить 1 лицензию Windows Server 2008 Enterprise и развернуть 4 виртуальные машины с Windows Server 2008 Enterprise на инфраструктуре VMware vSphere. Все 4 машины будут покрыты одной лицензией Windows Server 2008 Enterprise с условием, если они запущены на одном физическом сервере.

В случае Windows Server 2008 Datacenter можно запускать любое количество виртуальных машин. Но версия Windows Server 2008 Datacenter лицензируется по количеству процессоров, а не количеству физических серверов. При этом в руководстве по лицензированию указано:

“However, each processor on the partition on which the instances of the server software are running must be licensed.”

Т.е. следует лицензировать только те процессоры, на которых работают гипервизоры с виртуальными машинами Windows Server 2008.

Переписка с Microsoft.

Вопрос.
1. Как я понимаю, мы можем купить 1 лицензию Windows Server 2008 Enterprise и развернуть 4 виртуальные машины с Windows Server 2008 Enterprise на инфраструктуре VMware vSphere. Все 4 машины будут покрыты одной лицензией Windows Server 2008 Enterprise с условием, если они запущены на одном физическом сервере. Если я буду использовать технологии, аналогичные Live Migration в Hyper-V, и при помощи технологии vMotion перемещать синхронно 4 виртуальные машины с одного физического сервера на другой – нужно ли мне покупать дополнительную лицензию на второй физический сервер (при этом хранилище у этих двух серверов общее и все 4 виртуальные машины в данный момент времени будут работать либо на первом сервере, либо на втором)?

2. В случае Windows Server 2008 Datacenter можно запускать любое количество виртуальных машин. Но Datacenter лицензируется на процессоры, а не на физические серверы. При этом “However, each processor on the partition on which the instances of the server software are running must be licensed.” Если я буду использовать технологии, аналогичные Live Migration в Hyper-V, и при помощи технологии vMotion перемещать синхронно 4 виртуальные машины с одного физического сервера на другой – нужно ли мне покупать лицензии на процессоры только одного физического сервера? Или нужно покупать лицензии для всех процессоров обоих физических серверов (при этом хранилище у этих двух серверов общее и все 4 виртуальные машины в данный момент времени будут работать либо на первом сервере, либо на втором)?

Ответ.
Для ответа на Ваш вопрос, сообщаем Вам информацию, содержащуюся в документе Product Use Rights(PUR) который является неотъемлемой частью правил использования продуктов:
1. Прежде чем запускать экземпляр серверного программного обеспечения по лицензии на программное обеспечение, необходимо назначить эту лицензию одному из серверов. Этот сервер будет лицензированным сервером для данной лицензии. Этому серверу можно назначить другие лицензии на программное обеспечение, но нельзя назначить одну и ту же лицензию нескольким серверам. Каждый раздел устройства считается отдельным сервером. Из чего следует, что потребуется приобретение дополнительной лицензии на второй физический сервер, чтобы иметь возможность переноса виртуальных серверов.
2. Прежде чем запускать экземпляры серверного программного обеспечения на сервере, необходимо определить количество лицензий на программное обеспечение и назначить эти лицензии данному серверу, как описано ниже. В этом случае так же потребуется приобретение лицензий для всех физических серверов.

Ознакомиться с документом Product Use Rights Вы сможете на странице http://www.microsoft.com/rus/licensing/General/WhatIs.aspx

Решения для непрерывности бизнеса - используемая терминология

В журнале "CIO" прочитал статью о непрерывности бизнеса и на всякий случай решил напомнить про различия терминов Business Contingency и Business Continuity. Довольно часто их значения путаются.

Business Contingency Plan – планирование действий на случай чрезвычайной ситуации.

Business Continuity Plan – планирование действий по активному сопротивлению, когда компания целенаправленно борется за то, чтобы в чрезвычайную ситуацию не попасть.

Журнал CIO за ноябрь 2009, статья «Будь готов» об управлении непрерывностью бизнеса.

среда, 9 декабря 2009 г.

Про количество файлов, поддерживаемых NTFS

Согласно характеристике файловой системы NTFS для Windows Server 2003 http://technet.microsoft.com/ru-ru/library/cc780559%28WS.10%29.aspx максимальное число файлов на томе равняется 4,3 млрд. (4,294,967,295).

В статье с описанием работы NTFS - http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx также указан предел в 4,3 млрд. файлов.

Обширнейший список файловых систем с их характеристиками и ссылками на описания найден по адресу http://en.wikipedia.org/wiki/Comparison_of_file_systems


четверг, 3 декабря 2009 г.

FAST - Fully Automated Storage Tiering

Fully Automated Storage Tiering - технология, применяемая в системах хранения данных компании EMC - Symmetrix V-Max, CLARiiON CX4, Celerra NS. Позволяет автоматически в реальном времени перемещать тома данных на дисковые группы с разной производительностью (EFD, FC, SATA) в зависимости от нагрузки.

Перемещение томов данных происходит при помощи технологии Virtual LUN.

Для настройки FAST следует настроить:
Storage type - объединение однотипных дисков с определенным уровнем защиты RAID, например Flash storage with RAID 5.
FAST Policies - правила расположения томов на уровнях хранения.
Storage group - набор томов, к которым будет применен определенный вид FAST Policies.

Применяется 3 типа алгоритмов, по которым определяется перемещать ли тома:
  • EFD promotion/demotion algorithm
  • Capacity-based algorithm
  • FC/SATA cross-tier algorithm
EFD promotion/demotion algorithm - определяет какие тома испытывают большую нагрузку и перемещает их на уровень EFD. При этом после полной загрузки емкости EFD постоянно проводится мониторинг за оставшимися томами и если появляется более загруженный том, он меняется местом с менее загруженным томом, находящимся на уровне EFD. Количество максимальных миграций томов в день определяется при настройке FAST.
Capacity-based algorithm - способствует более равномерному распределению томов по уровням хранения. При этом принимается во внимание объем занимаемого пространства.
FC/SATA cross-tier algorithm - равномерно распределяет нагрузку ввода/вывода по уровням FC и SATA. Тома сортируются по уровню нагрузки и более нагруженные тома перемещаются на менее загруженные дисковые группы.

Сейчас единицей перемещение является том. В будущем EMC обещает: "Future FAST capabilities for Symmetrix V-Max and CLARiiON CX4 will deliver greater efficiencies through a more granular sub-LUN approach. This approach will provide you with even greater total cost of ownership benefits by identifying and moving very small amounts of really active or “hot” data to Flash and the majority of data to lower-cost SATA drives."

В Symmetrix технология FAST поддерживается OE Enginuity Version 5874 Enhancements for Symmetrix V-Max.

четверг, 26 ноября 2009 г.

LPI exam 101 prep: Linux installation and package management

В рамках подготовки к сдаче экзамена 101 уровня Junior Level Linux Professional LPIC-1 публикую краткие описания команд и фактов из подготовительных материалов IBM к этому экзамену.

Linux installation and package management - topic 102

Hard disk layout

/bin - Essential command binaries
/boot - Static files of the boot loader
/dev - Device files
/etc - Host-specific system сonfiguration
/lib - Essential shared libraries and kernel modules
/media - Mount point for removable media
/mnt - Mount point for mounting a filesystem temporarily
/opt - Add-on application software packages
/sbin - Essential system binaries
/srv - Data for services provided by this system
/tmp - Temporary files
/usr - Secondary hierarchy
/var - Variable data

A hard drive is formatted into 512 byte sectors.

The partitions
have names like /dev/hda1, /dev/hda2, /dev/hda3, /dev/sda1, and so on. IDE drives
are limited to 63 partitions, while SCSI drives are limited to 15.

use of the cat command to display
/proc/ide/hda/geometry, followed by the informational messages produced by use of
the parted partitioning tool.

use of the cat command to display
/proc/ide/hda/geometry, followed by the informational messages produced by use of
the parted partitioning tool.

Linux numbers primary or extended partitions as 1 through 4, so dev hda may have
four primary partitions, /dev/hda1, /dev/hda2, /dev/hda3, and /dev/hda4. Or it may
have a single primary partition /dev/hda1 and an extended partition /dev/hda2. If
logical partitions are defined, they are numbered starting at 5, so the first logical
partition on /dev/hda will be/dev/hda5, even if there are no primary partitions and
one extended partition (/dev/hda1) on the disk.

parted subcommand p, which displays the
partition information for the disk

Regardless of whether you are configuring a workstation or a server, you will have
certain files that are unique for each system located on the local drive. Typically,
these include /etc for system parameters, /boot for files needed during boot, /sbin for
files needed for booting or system recovery, /root for the root user's home directory,
/var/lock for lock files, /var/run for running system information, and /var/log for log
files for this system. Other filesystems, such as /home for user home directories,
/usr, /opt, /var/mail, or /var/spool/news may be on separate partitions, or network
mounted, according to your installation needs and preferences.

Boot managers

This code that is loaded by BIOS from this
first sector is called the first stage boot loader or the stage 1 boot loader.

systems checks the partition table to find a primary partition on the boot drive that is
marked as active, loads the first sector from that partition, and passes control to the
beginning of the loaded code. This new piece of code is also known as the partition
boot record.

This new
code is called the stage 2 boot loader. As used by MS-DOS and PC-DOS, the stage
2 loader proceedes directly to load the rest of operating system.

The primary function of lilo command, located in /sbin/lilo, is to write a stage 1
boot record and create a map file (/boot/map) using configuration information that is
normally located in /etc/lilo.conf.

lilo -q
will display information from the map file
lilo -R
will set lilo to automatically boot the specified system on the next reboot only.
This is very convenient for automatically rebooting remote systems.
lilo -I
will display information about the path of a kernel
lilo -u
will uninstall lilo and restore the previous boot record.

GRUB has a configuration file which is usually stored in /boot/grub/grub.conf. If your
filesystem supports symbolic links, as most Linux filesystems do, you will probably
have /boot/grub/menu.lst as a symbolic link to /boot/grub/grub.conf.

remember that
counting starts at 0, so the first Red Hat system which is specified as root
(hd0,6) is actually on partition 7 the first hard drive (/dev/hda7

Make and install programs

The
tar (for Tape ARchive) command is used to create and manipulate archives from
the files in a directory tree.

The tar command can be used in conjunction
with a compression program, normally gzip or bzip2 to create a compressed
archive which saves storage space as well as transmission time. Such a
compressed archive is a tarball.

[ian@localhost ~]$ ls drgeo*
drgeo-1.1.0.tar.gz
[ian@localhost ~]$ gunzip drgeo-1.1.0.tar.gz
[ian@localhost ~]$ ls drgeo*
drgeo-1.1.0.tar

To extract the files from the tar archive, you use the tar command. The usual form,
tar -xvf filename.tar

The -x option tells tar to extract the files. The -v option tells tar to give verbose
output. And the -f option , in conjunction with a file name (drgeo-1.1.0.tar in this
case) tells tar what archive file to extract files from.

If you add the -z
option to the tar command it can decompress and extract gzipped archives with a
single command. For example:
tar -zxvf drgeo-1.1.0.tgz
or
tar -zxvf drgeo-1.1.0.tar.Z

To accomplish the same thing with an archive compressed with bzip2, use the -j
option instead of the -z option . For example:
tar -jxvf drgeo-1.1.0.tar.bz2

Remember to
add ./ before the configure command as your project directory will probably not be
in your path. For example, you might run
./configure
or
./configure --prefix /usr/local

make
with no options will just build the program. Technically this will build a default
target, which usually means just build the program from sources.
make install
will install the program you built. You may need root authority for this if you are
installing in /usr/local.

make clean
will erase files created by the make process.
make all
is sometimes used to perform the bulk of the make file's function with a single
target.

Manage shared libraries

ldd command
which displays information about the library requirements of an executable.

Loading of programs needs to be fast, so the ld.so.conf file is processed to the
ldconfig command to process all the libraries from ld.so.conf.d as well as those
from the trusted directories, /lib and /usr/lib.

Debian package management

We can install that using the apt-get
command

We can use the -s (for
simulate) option on apt-get. There are several other options with equivalent function,
such as --just-print and \--dry-run.

apt-get read a package list from somewhere. That somewhere is
/etc/apt/sources.list.

packages,most of which have not yet been updated. In this case, you can use the
command
apt-cdrom add
to add your CD-ROM to the list of package sources.

If you update your
/etc/apt/sources.list file, then you should run
apt-get update

If you installed a package and later want to uninstall it, you use the remove option
with apt-get.

Another tool that is part of the APT system is the dpkg tool

Configuration of dpkg may be controlled by
/etc/dpkg/dpkg.cfg.

dpkg -s to display the status of the guile
package after we installed it.

dpkg -L
to list the files (including directories) installed by the guile package.

To find which package contains a specific file, use the -S option of dpkg,

A
recent addition to Linux systems is the alternatives system which is managed using
the update-alternatives command.

status for packages is kept in /var/lib/dpkg/status.

dselect command which provides a text-based
full-screen interface (using ncurses) to the package management functions of dpkg.

apt-cache, which is useful for searching
package information on your system.

If you do find and download a .deb file, you can install it using dpkg -i.

Red Hat Package Manager (RPM)

installation of the guile-devel package using
the rpm -ivh command

Note that the -v option gives verbose output and the -h option shows hash marks (#)
to indicate progress.

-e option to remove (or erase) the rp

forcibly install the rpm using the --force option

There is an alternative to forcible install with the --force option that you may need
on some occasions. You can remove an rpm using the --nodeps option which
disables the internal dependency checking.

upgrading an
RPM to a newer level. This is similar to installing, except the we use the -U or the
the -F option instead of the -i option.

The -a option applies your query to all installed packages.

rpm command
provides a -f option to help you locate the package that owns a file.

the rpm
command provides an option to interrogate installed packages or package files to
find out what capabilities they depend on or require.This is the --requires option,
which may be abbreviated to -R.

To check the integrity of an RPM package file use the
--checksig (abbreviated to -K) option of rpm.

Требования к доступности систем - таблица "девяток"

Часто в статьях встречается оценка доступности ИТ-систем указанная в процентах. При этом не всегда очевидно, сколько же в реальном времени может простаивать эта система. Для снятия неясности привожу описание "девяток".

99,99999% - доступность 364 дня 23 часа 59 минут 56 секунд в год, недоступность 3 секунды в год, также называется 7 "девяток".

99,9999% - доступность 364 дня 23 часа 59 минут 29 секунд в год, недоступность 31 секунда в год, также называется 6 "девяток".

99,999% - доступность 364 дня 23 часа 54 минуты 45 секунд в год, недоступность 5 минут 15 секунд в год, также называется 5 "девяток".

99,99% - доступность 364 дня 23 часа 7 минут 27 секунд в год, недоступность 52 минуты 33 секунды в год, также называется 4 "девятки".

99,95% - доступность 364 дня 19 часов 37 минут 12 секунд в год, недоступность 4 часа 22 минуты 48 секунд в год.

99,9% - доступность 364 дня 15 часов 14 минут 24 секунды в год, недоступность 8 часов 45 минут 36 секунд в год, также называется 3 "девятки".

99,8% - доступность 364 дня 6 часов 28 минут 48 секунд в год, недоступность 17 часов 31 минут 12 секунд в год.

99,72603% - доступность 364 дня в год, недоступность ровно 1 день в год.

99,5% - доступность 363 дня 4 часа 12 минут 00 секунд в год, недоступность 1 день 19 часов 48 минут 00 секунд в год.

99% - доступность 361 день 8 часов 24 минуты 00 секунд в год, недоступность 3 дня 15 часов 36 минут 00 секунд в год, также называется 2 "девятки".

98% - доступность 357 дней 16 часов 48 минут 00 секунд в год, недоступность 7 дней 7 часов 12 минут 00 секунды в год.

97% - доступность 354 дня 1 час 12 минут 00 секунд в год, недоступность 10 дней 22 часа 48 минут 00 секунды в год.

среда, 28 октября 2009 г.

LPI exam 101 prep: Hardware and architecture

В рамках подготовки к сдаче экзамена 101 уровня Junior Level Linux Professional LPIC-1 публикую краткие описания команд и фактов из подготовительных материалов IBM к этому экзамену.

Hardware and architecture - topic 101

/proc filesystem. This is not a real filesystem on disk, but a "pseudo file system"

/proc/pci contains information about the devices on the system's PCI bus

lspci command gives similar information

/proc/ioports tells us about the IO ports available on the system

information on interrupts is also kept in the /proc file system, in /proc/interrupts

dmesg command to look for bootstrap messages

DMA channels are in use - in /proc/dma.

lspnp command (part of the kernel-pcmcia-cs package) to display information about PnP devices. File /proc/bus/pnp will contain this information.

hdparm -I /dev/hda

Even without the artificial limits of BIOS or DOS, the CHS design allows for up to 65536 cylinders, 16 heads, and 255 sectors/track. This limits the capacity to 267386880 sectors, or approximately 137 GB.

Devices that start with /dev/hd, such as /dev/hda or /dev/hda5 refer to IDE drives.
The first drive on the first IDE controller is /dev/hda and the second one, if present, is
/dev/hdb. Likewise, the first drive on the second IDE controller is /dev/hdc and the
second one is /dev/hdd.

Today, you will find that both USB and SATA storage devices appear as sd, rather
than hd, devices.

network configuration tool such as system-config-network in Fedora Core 4.

lsmod command will format the contents of /proc/modules and display the status of loaded modules

If you want to know which real device corresponds to say /dev/sda, you can use the
scsi_info command.

sg_map command will provide a map between the sg name and another device name if one exists.

sginfo command interrogates the device for the information while the scsi_info will use the retained information.

The file /proc/bus/usb/devices contains summary information for currently attached USB devices.

lsusb command to help you with display of USB information. In particular, you can get a tree view of your USB devices by using the -t option. This shows their attachment hierarchy. You can use the -d option for information about a specific device if your system gives an abbreviated display using the -t option. The -v option produces verbose output which interprets many of the fields.



понедельник, 19 октября 2009 г.

Базовые операции по настройке ОС Linux

Небольшая памятка по настройке и работе в ОС Linux.



Монтирование образа iso

mount -o loop cdrom.iso /mnt/cdrom

Исправление сильно искаженной картинки на мониторе после установки Х

Из конфигурационного файла следует удалить все разрешения и цвета и оставь только минимальные настройки:

Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubsection

Параметр "DefaultDepth 16" следует поменять на "DefaultDepth 24"

После этого запустить сервис. Рестарт X-window осуществляется клавишами CTRL+ALT+BackSpace.

Установка программ в автозагрузку

Для оконного менеджера Gnome. Programs that you wish to autostart on GNOME startup can be selected by using the Control Center. To do this, open the Control Center and then navigate to Sessions followed by Startup Programs. Click Add and either type the path, or use Browse to select your desired program. If multiple programs are selected, they can be launched in a desired order.

If the GUI is not available or desireable, then one can instead modify ~/.gnome2/session-manual. Syntax is as follows:

File: ~/.gnome2/session-manual
[Default]
num_clients=1
0,RestartClientHint=3
0,Priority=50
0,RestartCommand=gdesklets
0,Program=gdesklets

Запуск и настройка сервиса syslog на линуксе.

В конфигурационном файле syslog.conf указать
local0.info /var/log/cisco.log
Syslogd запустить с ключем -r

На устройстве Cisco указать
logging _адрес_syslog_сервера_
logging trap debugging
logging facility local0

После этого происходит передача событий на syslog-сервер.

Или в syslog.conf следует указать

# Логи с Cisco
+router.test.ru
*.* /var/log/cisco.log
# +* - конец привязки к хосту
+*

Настройка сетевого интерфейса вручную через файл /etc/sysconfig/network-scripts/ifcfg-eth0

Если запуска сетевого сервиса по каким-то причинам не произошло, его можно запустить следующим образом:
/sbin/service network start

Эта команда запускает скрипты, которые находятся в каталоге /etc/sysconfig/network-scripts. Вы можете посмотреть, какие интерфейсы работают ("подняты"), а какие - нет, а также получить некоторые статистические данные о работе каждого интерфейса, введя в командной строке:
/sbin/ifconfig

Сетевой сервис может быть остановлен (отключены все интерфейсы сразу) или перезапущен (перезапускаются все конфигурационные файлы из каталога /etc/sysconfig/network-scripts) командами:
/sbin/service network stop
или
/sbin/service network reload

Все конфигурационные файлы можно редактировать, для чего надо вначале перейти в нужную директорию, например, с помощью команды:
cd /etc/sysconfig/network-scripts

Каждый интерфейс имеет собственный конфигурационный файл. Например, конфигурационный файл интерфейса eth0 называется ifcfg-eth0. Если вы изменяете интерфейс eth0, дайте следующую команду ("vi" - это текстовый редактор, который обычно входит в поставку RHEL):
vi ifcfg-eth0

Пример файла, который будет в этом случае открыт на редактирование:
# Broadcom Corporation|NetXtreme BCM5704 Gigabit Ethernet
Code Описание
DEVICE=eth0 Эта строка задает имя устрйства.
HWADDR=00:01:23:45:67:89 Это MAC-адрес данного интерфейса.
ONBOOT=yes Должен ли этот интерфейс "подниматься" при запуске сетевой службы?
TYPE=Ethernet Тип интерфейса.
NETMASK=255.255.255.0 Маска подсети, к которой будет подключаться интерфейс.
IPADDR=192.168.1.154 Это IP-адрес данного интерфейса.
GATEWAY=192.168.1.1 Это IP-адрес шлюза (gateway), на который будут отсылаться данные в том случае, когда адресат назначения пакета не найдет в локальной сети.

Настройка сервера dns и домена в файле resolv.conf

# For Wellesley
# 08-05-00
# Search and domain are mutually exclusive!
# search .
#
domain ampr.org
#
# The local JNOS host 'machine'...
nameserver 44.56.26.11
# nameserver 44.56.26.10
#

Внесение или изменение в конфигурации имени машины

Прописать имя машины в файле /etc/hostname

sims.office.npr.ru

Прописать имя машины в файле /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=sims.office.npr.ru

Поиск файлов

Осуществляется при помощи команды
Locate

Команда обращается к файлу индекса жесткого диска, созданного командой
Updatedb

Эту команду рекомендуют поместить в crontab

Монтирование и размонтирование CDROM

Mount –t iso9660 /dev/cdrom /mnt/cdrom
Umount /mnt/cdrom

Если сдром занят процессом или пользователем, то

Umount –l /mnt/cdrom – ленивое размонтирование.

Как разархивировать tar.gz

To extract the compressed tar archive target.tar.gz into the current working directory with:
gzip -dc target.tar.gz | tar xf -

Как получить значения всех переменных окружения

Printenv

Installing VMware tools on Ubuntu/Kubuntu/Xubuntu Guests

Start up a terminal window and do the following to ensure that you have the required packages for building VMware Tools or your kernel.

sudo apt-get install build-essential linux-headers-`uname -r`

NOTE: linux-headers-uname -r is not required on a default build as these headers already exist. They are listed here in case you have made kernel modifications.

From the VMware menu, choose VM->Install VMware Tools. You should see a mounted CD image show up on the desktop. In the File Browser that pops up, right-click the VMwareTools*.tar.gz file and extract to the Desktop.

If the cdrom was not automatically mounted, mount the cdrom (in your guest OS) by doing

sudo mount /dev/cdrom ~/Desktop/vmware-tools-distrib

Open a terminal window, and run the following commands.

cd ~/Desktop/vmware-tools-distrib
sudo ./vmware-install.pl

During vmware-install.pl, choose the default answers to everything.

In order for the synchronized clipboard to function as well as the host shared folders feature, you must have vmware-toolbox running.

From the menu choose, System->Preferences->Sessions->Startup Programs. Click Add, enter vmware-toolbox, Ok, Close.

If you are running a Kubuntu guest OS.

echo "/usr/bin/vmware-toolbox" > ~/.kde/Autostart/vmware-toolbox.sh
chmod +x ~/.kde/Autostart/vmware-toolbox.sh

In order to get the scroll wheel to work again after the above install, you will need to make a minor change to the xorg.conf file.

In the "Configured Mouse" section, change the following line as indicated:

Options "Protocol" "imps/2"

If you have more than five buttons (scroll wheel counts as three), then you might need the following line:

Options "Protocol" "ExplorerPS/2"

Restart X.


Фредерик Брукс "Мифический человеко-месяц или как создаются программные системы"

Занимательная книга об управлении проектами по созданию программных систем. Хотя была написана в 1975 году не теряет актуальности по сей день. И, судя по всему, описанные проблемы будут актуальны еще очень продолжительное время. Мне приходится работать с проектами в области создания и внедрения инфраструктурных решений и внедрения прикладного ПО, почти не связанными с разработкой, но закономерности, описанные в книге, встречаются очень часто.


Центральная идея книги - привнесение в проект новых сил на поздних стадиях разработки программного продукта лишь отодвигает срок сдачи проекта.

Очень хорошо описана разница между программой, которую можно написать за несколько ночей и системным программным продуктом.

"Время от времени можно прочесть в газете о том, как в переоборудованном гараже пара программистов сделала замечательную программу, оставившую позади разработки больших команд. И каждый программист охотно верит в эти сказки, поскольку знает, что может создать любую программу со скоростью, значительно превышающей те 1000 операторов в год, которые, по сообщениям, пишут программисты в промышленных бригадах. Почему же до сих пор все профессиональные бригады программистов не заменены одержимыми дуэтами из гаражей? Нужно посмотреть на то, что, собственно, производится. В левом верхнем углу рисунка 1.1 находится программа. Она является завершенным продуктом, пригодным для запуска своим автором на системе, на которой была разработана. В гаражах обычно производится такой продукт, и это — тот объект, посредством которого отдельный программист оценивает свою производительность. Есть два способа, которыми программу можно превратить в более полезный, но и более дорогой объект. Эти два способа представлены по краям рисунка. При перемещении вниз через горизонтальную границу программа превращается в программный продукт. Это программа, которую любой человек может запускать, тестировать, исправлять и развивать. Она может использоваться в различных операционных средах и со многими наборами данных. Чтобы стать общеупотребительным программным продуктом, программа должна быть написана в обобщенном стиле. В частности, диапазон и вид входных данных должны быть настолько обобщенными, насколько это допускается базовым алгоритмом. Затем программу нужно тщательно протестировать, чтобы быть уверенным в ее надежности. Для этого нужно подготовить достаточное количество контрольных примеров для проверки диапазона допустимых значений входных данных и определения его границ, обработать эти примеры и зафиксировать результаты. Наконец, развитие программы в программный продукт требует создания подробной документации, с помощью которой каждый мог бы использовать ее, делать исправления и расширять. Я пользуюсь практическим правилом, согласно которому программный продукт стоит, по меньшей мере, втрое дороже, чем просто отлаженная программа с такой же функциональностью.



При пересечении вертикальной границы программа становится компонентом программного комплекса. Последний представляет собой набор взаимодействующих программ, согласованных по функциям и форматам, и вкупе составляющих полное средство для решения больших задач. Чтобы стать частью программного комплекса, синтаксис и семантика ввода и вывода программы должны удовлетворять точно определенным интерфейсам. Программа должна быть также спроектирована таким образом, чтобы использовать заранее оговоренный бюджет ресурсов — объем памяти, устройства ввода/вывода, процессорное время. Наконец, программу нужно протестировать вместе с прочими системными компонентами во всех сочетаниях, которые могут встретиться. Это тестирование может оказаться большим по объему, поскольку количество тестируемых случаев растет экспоненциально. Оно также занимает много времени, так как скрытые ошибки выявляются при неожиданных взаимодействиях отлаживаемых компонентов. Компонент программного комплекса стоит, по крайней мере, втрое дороже, чем автономная программа с теми же функциями. Стоимость может увеличиться, если в системе много компонентов. В правом нижнем углу рисунка 1.1 находится системный программный продукт. От обычной программы он отличается во всех перечисленных выше отношениях. И стоит, соответственно, в десять раз дороже. Но это действительно полезный объект, который является целью большинства системных программных проектов."

И бессмертное - "Как оказывается, что проект запаздывает на год? ... Сначала запаздывает на один день. "


четверг, 8 октября 2009 г.

PMBoK 2008 издание 4 - обзор областей знаний


Руководство к своду знаний по управлению проектами PMBoK 2008 содержит 9 областей знаний. Далее идет их перечисление и краткая характеристика.


Управление интеграцией проекта (Project Integration Management)

Разработка Устава проекта. Основные результаты процесса – признание существования проекта в компании и назначение руководителя проекта. Проект — средство реализации стратегии. Анализ осуществимости проекта (TЭО, Предварительный бизнес-план, feasibility study).

Процесс «Разработка Плана управления проектом»


Назначение плана управления проектом. Два важных результата планирования — обоснованность и достоверность плана. Базовый (Baseline) и текущие планы.

Процесс «Управление исполнением проекта»

Роли руководителя проекта: интеграция и координация всех действий по исполнению проекта, сравнение и анализ отклонений текущего плана от базового. Основная роль руководителя проекта — организация и координация работ в проекте. Распространенная ошибка при планировании — создание плана "на все случаи жизни" — без ограничений и предположений. Актуальность встреч по обзору состояния проекта (Status Review Meeting). Запрос на изменение. Система авторизации работ. Навыки общего менеджмента: лидерство, умение решать проблемы; работа с людьми (мотивация, управление конфликтами); умение вести переговоры (Negotiation skills); влияние и власть в организации. Примеры шаблонов запросов на изменения.


Процесс «Мониторинг и контроль над работами проекта»

Процесс «Общее управление изменениями»

Два способа устранения отклонения от базового плана — корректирующие воздействия и контролируемые изменения базового плана. Система управления изменениями: — процедуры изменений (Регламент), Комитет по управлению изменениями (Change Control Board). Важность выявления усвоенных уроков (lessons learned) и передачи опыта. Система управления конфигурацией (продукта).

Процесс «Закрытие проекта»

Управление Содержанием Проекта (Project Scope Management)

Содержания проекта (Project Scope) и Содержания продукта (Product Scope). Замысел проекта, Рамки проекта, Цели и Задачи проекта. Распространенная ошибка в управлении проектами — планирование и исполнение проекта без определения Содержания проекта. Принцип непрерывности управления содержанием проекта на протяжении всего жизненного цикла проекта.

Процесс «Сбор требований»

Матрица оперативного учёта требований.

Процесс «Определение содержания»

Первый шаг в планировании — определение целей и результатов проекта. Документ Project Scope Statement (Цели и задачи, Техническое задание, Описание объема работ) — документ, определяющий и фиксирующий Содержание проекта (Project Scope). Описание целей через измеряемые и проверяемые показатели (deliverables) и критерии достижения. Актуальность описания того, что не входит в содержание проекта. Стратегический подход к исполнению проекта (Strategy approach).

Процесс «Создание иерархической структуры работ»

Разбиение целей и результатов работ на пакеты работ — создание иерархической структуры работ проекта (WBS — Work Breakdown Structure). Декомпозиция целей. Использование шаблонов WBS - типовых фрагментов работ. Словарь WBS. Критерии достаточного уровня детализации WBS — пакетов работ.

Процесс «Проверка содержания»

Основная цель процесса — сдача-приемка результатов, а не проверка качества. Документирование результатов при остановке проекта.

Процесс «Контроль содержания»

Изменения в содержании существенны для проекта. Возможные причины изменений.

Управление сроками проекта (Project Time Management)

Процесс «Определение состава операций»

Разбиение пакета работ на элементарные работы. Результаты пакетов работ (Deliverables).

Процесс «Определение взаимосвязей операций»

Виды зависимостей — жесткие, нежесткие, внешние. Методы отображения взаимосвязей между работами: стрелочная диаграмма (Activity-On-Arrow, Arrow diagram); диаграммы предшествования (Activity-On-Node, Precedence diagram). Типовые сетевые шаблоны работ. Сетевая диаграмма проекта (Network diagram). Зависимости и ограничения между работами: Финиш-Старт, Финиш-Финиш, Старт-Старт, Старт-Финиш.

Процесс «Оценка ресурсов операций»

Планирование с нижнего уровня WBS. Потребность в ресурсах.

Процесс «Оценка длительности операций»

Сложность и итеративность оценки длительности уникальных операций. Виды оценок: экспертная (метод Дельфи), аналоговая, по производительности и объему. Метод оценки по трем точкам.

Процесс «Разработка расписания»

Критический путь проекта. Метод критического пути составления расписания. Разбор примера применения метода критического пути. Расписание с несколькими критическими путями. Выравнивание ресурсов (Resource Leveling). Разработка оптимального расписания с учетом ограничения по ресурсам. Эвристические методы нахождения расписания. Графические представления расписания проекта: диаграмма Ганта (Gantt chart); сетевая диаграмма (Network diagram); диаграмма контрольных точек (Milestones diagram). Контрольная точка (Milestones). Методы сокращения длительностей работ проекта: fast tracking; crashing. Ресурсный критический путь. Практические рекомендации по разработке расписания.

Процесс «Контроль расписания» (Control Schedule)

Управление личным временем руководителя проекта.

Управление стоимостью проекта (Project Cost Management)

Процесс «Стоимостная оценка»

Оценка по аналогу. Параметрическая оценка. Оценка снизу-вверх. Оценки стоимости: порядок величины, предварительная оценка, точная оценка.

Процесс «Разработка бюджета расходов»

Базовый план по стоимости (Cost Performance Baseline)

Процесс «Контроль стоимости»

Метод освоенного объема (Earned Value Measurement)
Базовые показатели: освоенный объем (Earned Value); плановый объем (Planned Value); фактическая стоимость (Actual Cost). Основные производные показатели: отклонение по стоимости (Cost variance); отклонение по срокам (Schedule variance); индекс выполнения бюджета (CPI); индекс выполнения календарного плана (SPI). Прогнозирующие показатели: EAC, BAC, ETC, TCPI.

Управление качеством проекта (Project Quality Management)

Стандарты ISO и PMBOK.

Процесс «Планирование качества»

Приоритет планирования и обеспечения качества над инспекциями и тестированием. Стоимость качества: стоимость соответствия и несоответствия качеству. Изменение стоимости качества при эффективном управлении качестве. Оптимальное качество и минимальная стоимость качества. Опасность превышения ожиданий Заказчика.

Процесс «Обеспечение качества»

Аудит качества.

Процесс «Контроль качества»

7 инструментов контроля качества.

Управление персоналом проекта (Project Human Resourses Management)

Процесс «Разработка плана управления персоналом»

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

Процесс «Набор команды проекта»

Практика предварительных назначений

Процесс «Развитие команды проекта»

Стадии развития команды проекта. Основы мотивации исполнителей: пирамида Маслоу; теория Герцберга.

Процесс «Управление командой проекта»

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

Управление коммуникациями проекта (Project Communications Management)

Актуальность эффективного обмена информацией между участниками проекта.

Процесс «Идентификация участников проекта»

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

Процесс «Планирование коммуникаций»

План управления коммуникациями.

Процесс «Распространение информации»

Эффективные методы распространения информации. Ответственность при передаче информации. Извлечённые уроки (lessons learned).

Процесс «Управление ожиданиями участников проекта»

Журнал регистрации потенциальных проблем (Issue Log). Основные навыки работы с участниками проекта.

Процесс «Отчетность по исполнению»

Виды отчетности.

Управление рисками проекта (Project Risk Management)

Известные риски (known unknown). Неизвестные риски (Unknown unknown). Величина, вероятность возникновения и степень влияния риска. Резерв на возможные потери (Contingency reserve). Управленческий резерв (Management Reserve). Цикл управления рисками проекта.

Процесс «Планирование управления рисками»

План управления рисками. Методология управления рисками. Роли и ответственности. Иерархическая структурв рисков. Бюджет для управления рисками.

Процесс «Идентификация рисков»

Категории рисков. Реестр рисков. SWOT – анализ. Список рисков и триггеры (симптомы рисков). Пример идентификации рисков.

Процесс «Качественный анализ рисков»

Матрица оценки влияния риска на проект. Матрица оценки величины рисков. Градация рисков. Миграция рисков.

Процесс «Количественный анализ рисков»

Нахождение реалистичных сроков и бюджетов и определение вероятности исполнения заданных сроков и бюджета проекта. Моделирование Монте-Карло. Вероятностный анализ проекта.

Процесс «Планирование реагирования на риски»

Стратегии реагирования на негативные риски. Стратегии реагирования на позитивные риски. Общая стратегия реагирования как на негативные, так и на позитивные риски.

Процесс «Мониторинг и контроль над рисками»

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

Управление поставками проекта (Project Procurement Management)

Процесс «Планирование поставок»

Решение «производить или покупать?». Типы контрактов: контракт с фиксированной ценой (Fixed price contract); контракт с возмещением стоимости (Cost reimbursable contract); контракт «время и материалы» (Time & Materials). Выбор подходящего контракта.

Процесс «Организация проведения поставок»


Тендерные процедуры. Запрос информации у продавцов. Выбор продавцов. Заключение контракта.

Процесс «Администрирование поставок»

Процесс «Закрытие поставок»


Источники - http://www.pmexpert.ru/services/training/courses/annot/pmipmb.php,
A GUIDE TO THE PROJECT MANAGEMENT BODY OF KNOWLEDGE (PMBOK® Guide)—Fourth Edition.


Повторный запрос аутентификации при открытии документов MS Office на портале Microsoft SharePoint Server 2007

Проблема известная и довольно давняя - возникает повторный запрос аутентификации при открытии документов MS Office на портале Microsoft SharePoint Server 2007. При этом на самом портале активирована функция SSO (single sign-on), клиенты и сервер находятся в одном домене, URL сервера занесен в список местной интрасети у клиентов, активирована функция "Автоматический вход в сеть с текущим именем пользователя и паролем" и в поставщике управления подлинностью портала активирована итеграция клиентов. Т.е. по настройкам все должно быть прозрачно после первой аутентификации. Но окно все равно возникает.


Нашлось подробное описание этой проблемы -
http://blogs.msdn.com/sharepoint/archive/2007/10/19/known-issue-office-2007-on-windows-vista-prompts-for-user-credentials-when-opening-documents-in-a-sharepoint-2007-site.aspx

Итог - пока явного решения найти не удалось, указанное в блоге обновление недоступно для скачивания. Решение, которое сработало у меня, состоит в указании прокси-сервера и включении глобального исключения его использования.


Обход проблемы

It's possible to work around this issue by setting a "fake proxy" and "blanket bypass" as follows in IE7's LAN Settings dialog.
  1. Click the Proxy Server check-box. Set the address to "fake proxy" without the quotes and the port to 80.
  2. Click the "Bypass proxy server for local addresses" check-box.
  3. Click Advanced and put an * in the Exceptions list to cause all addresses (including external ones) to be bypassed.
Краткое описание сути проблемы

Office 2007 introduced a change such that when installed on Windows Vista machine, it prefers to use WebDAV technology when opening documents from a SharePoint site (previous versions first tried to use the Web Extender Client). Additionally, WebDAV on Windows Vista switched from using WinINet to using WinHTTP because the latter is considered to be more secure. Unfortunately, WinHTTP does not understand zones since it was designed more for services than interactive users. WebDAV implemented a subroutine that would check the user's IE proxy settings and if a proxy was detected (either through the use of "Automatically detect settings" when it successfully retrieved a PAC or configuration script or through the use of specifically defined proxy settings), it would initiate the WinHTTP session with information that would allow the user's credentials to be passed automatically (like WinINet does for Intranet and Trusted zones). The absence of a configured proxy would result in the prompt for credentials (which we agree is undesired and unnecessary in most intranet environments).


среда, 7 октября 2009 г.

Значения конфигурационных регистров вида 0xXXXX оборудования Cisco

Конфигурационный регистр управляет следующим поведение устройств Cisco:
  • как загружается устройство (в ROMmon, NetBoot),
  • варианты загрузки (игнорирование конфигурации, отключение сообщений при загрузке),
  • скорость консоли (скорость в бодах для эмуляции терминальной сессии).


Для просмотра текущего состояния конфигурационного регистра следует использовать команду show version:

Router#show version
Cisco Internetwork Operating System Software
IOS (tm) 2500 Software (C2500-JS-L), Version 12.1(5), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Wed 25-Oct-00 05:18 by cmong
Image text-base: 0x03071DB0, data-base: 0x00001000
ROM: System Bootstrap, Version 5.2(8a), RELEASE SOFTWARE
BOOTFLASH: 3000 Bootstrap Software (IGS-RXBOOT), Version 10.2(8a), RELEASE SOFTWARE (fc1)
Router uptime is 7 minutes
System returned to ROM by reload
System image file is "flash:c2500-js-l_121-5.bin"
cisco 2500 (68030) processor (revision D) with 16384K/2048K bytes of memory.
Processor board ID 03867477, with hardware revision 00000000
Bridging software.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
TN3270 Emulation software.
1 Token Ring/IEEE 802.5 interface(s)
2 Serial network interface(s)
32K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read ONLY)
Configuration register is 0x2102
Для установки нового значения конфигурационного регистра следует использовать команду config-register:

#conf t
(config)#config-register 0x2102
#exit
#wr mem

Конфигурационные регистры имеют следующие значения:

0x102
• Ignores break
• 9600 console baud
0x1202
• 1200 baud rate
0x2101
• Boots into bootstrap
• Ignores break
• Boots into ROM if initial boot fails
• 9600 console baud rate
0x2102
• Ignores break
• Boots into ROM if initial boot fails
• 9600 console baud rate default value for most platforms
0x2120
• Boots into ROMmon
• 19200 console speed
0x2122
• Ignores break
• Boots into ROM if initial boot fails
• 19200 console baud rate
0x2124
• NetBoot
• Ignores break
• Boots into ROM if initial boot fails
• 19200 console speed
0x2142
• Ignores break
• Boots into ROM if initial boot fails
• 9600 console baud rate
• Ignores the contents of Non-Volatile RAM (NVRAM) (ignores configuration)
0x2902
• Ignores break
• Boots into ROM if initial boot fails
• 4800 console baud rate
0x2922
• Ignores break
• Boots into ROM if initial boot fails
• 38400 console baud rate
0x3122
• Ignores break
• Boots into ROM if initial boot fails
• 57600 console baud rate
0x3902
• Ignores break
• Boots into ROM if initial boot fails
• 2400 console baud rate
0x3922
• Ignores break
• Boots into ROM if initial boot fails
• 115200 console baud rate

Значения отдельных битов конфигурационного регистра:

00-03
0x0000-0x000F
• Boots Field Parameters 0x0000
• Stays at the system bootstrap prompt 0x0001
• Boots system image on EPROM 0x0002-0x000F
• Specifies a default netboot filename
06
0x0040
• Ignore NVRAM contents
07
0x0080
• Disable boot messages
08
0x0100
• Break disabled
10
0x0400
• IP broadcast with all zeros
5,11,12
0x0020, 0x0800, 0x1000
• Console line speed
13
0x2000
• Boots default ROM software if network boot fails
14
0x4000
• IP broadcasts do not have net numbers
15
0x8000
• Enables diagnostic messages
• Ignores NVRAM contents

Источник: http://www.cisco.com/en/US/products/hw/routers/ps133/products_tech_note09186a008022493f.shtml


пятница, 2 октября 2009 г.

IBM - продукты XIV и SVC

XIV
http://www.xivstorage.com/

Горизонтально масштабируемая кластерная система хранения данных. Система самовосстанавливается в случае сбоев и самонастраивается для оптимальной производительности.

Разработчик системы – Моше Янай, http://www-03.ibm.com/press/us/en/photo/24265.wss, бывший глава отдела разработок EMC, разработчик Symmetrix. В 2001 году покинул EMC и основал компании XIV и Diligent (технологии дедупликации), которые были куплены IBM в 2008 году.



XIV позиционируется как система класса High-end. При объеме хранения в 20 ТБ становится конкурентной в нише mid-range.

Система очень просто настраивается через GUI или XIV Cli. Позволяет делать мгновенные снимки, выделять хостам емкость по запросу (thin provisioning), выполнять репликацию данных на резервную систему, устанавливать себя в разрыв между хостом и старой системой, постепенно заменяя ее.

Система поставляется в стойке, минимальная конфигурация – 6 модулей, 2 коммутатора, 3 UPS (обеспечивают 15 минут работы системы после аварийного отключения электроэнергии для), 27 ТБ полезного объема. Увеличивается до 15 модулей (+8 модулей) и 79 ТБ полезного объема. Стойки можно объединять и управлять ими из единой консоли. Возможно объединение до 8 стоек.

Внешние интерфейсы системы – FC 4 Gb/s (FCP) и Gigabit Ethernet (iSCSI).
В каждом модуле установлено по 8 ГБ оперативной памяти, 4-ядерный CPU, 12 дисков по 1 ТБ, 4 сетевых интерфейса Gigabit Ethernet для подключения к внутренним коммутаторам. Превые 6 модулей, помимо этого, имеют дополнительные FC и Gigabit Ethernet интерфейсы для внешних подключений системы.

Система устойчива к потери одного модуля и дополнительно 3 дисков.
Система устанавливается у заказчика только инженерами IBM. Система общается с сервисной службой IBM по каналам связи.

Полная стойка с 15 узлами показала 45000 IOPS при 85/15 чтение/запись и 70% cache hit.

SVC
SAN Volume Controller http://www-03.ibm.com/systems/storage/software/virtualization/svc/


Устройство для виртуализации гетерогенных СХД. Аппаратно-программный комплекс.

Текущая версия системы – 4.3. Сейчас контроллер поддерживает только FC (поддержка iSCSI ожидается в следующих версиях).
Показал лучшие результаты тестирования SPC-1 (270 000 IOPS) и SPC-2 http://www.storageperformance.org/results/benchmark_results_spc1#a00072

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

Сейчас контроллер не обладает накопителями, в будущих моделях контроллера ожидается использование дисков SSD, на которые будут перемещаться тома с наиболее высокой текущей нагрузкой.