По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В этой статье мы расскажем как исправить ошибку «System logs are stored on non-persistent storage» (Ваши события не будут сохранены при отключении сервера) в VMware ESXi
Решение
Проверка местоположения системных событий в vSphere Client (HTML5)
В навигаторе vSphere Client выберите Hosts and Clusters view.
Выберите хост-объект в навигаторе vSphere Client.
Нажмите на вкладку Configure, затем System expander.
В разделе System выберите Advanced System Settings.
Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище.
Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище.
Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов.
Примечание: Чтобы войти в datastore, запись Syslog.global.logDir должна быть в формате [Datastorename]/foldername. Чтобы войти в scratch partition в ScratchConfig.CurrentScratchLocation введите пустой формат или []/foldername.
Версии ESXi 6.5, 6.7 и выше реагируют на изменения незамедлительно. Более старым версиям для этого может потребоваться перезагрузка.
Проверка местоположения системных событий в vSphere Web Client
Перейдите к хосту в навигаторе vSphere Web Client.
Нажмите вкладку Manage, затем Settings.
В разделе System выберите Advanced System Settings.
Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище.
Если поле Syslog.global.logDir пустое или указывает на scratch partition, убедитесь, что поле ScratchConfig.CurrentScratchLocation в качестве местонахождения указывает постоянное хранилище.
Если папка используется в качестве хранилища scratch, которое является общим для большого количества ESXi хостов, вам также необходимо установить поле Syslog.global.logDirUnique,чтобы избежать конкуренции лог-файлов.
Проверка местоположения системных событий в vSphere Client (vSphere 6.0 и более ранние версии)
В программе vSphere Client выберите хост на инвентарной панели.
Нажмите на вкладку Configuration, затем – на Advanced Settings в разделе Software.
Убедитесь в том, что параметр Syslog.global.logDir в качестве местонахождения указывает постоянное хранилище. У каталога должны быть название и путь к хранилищу данных [datastorename] path_to_file. Например, [datastore1] /systemlogs.
Если поле Syslog.global.logDir пустое или указывает scratch partition в качестве хранилища, убедитесь, что поле ScratchConfig.CurrentScratchLocation указывает в качестве местонахождения постоянное хранилище.
Дополнительная информация
Если вы видите, что работающий хост сохраняет информацию в хранилище scratch в формате >UUID (/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/foldername) и хотите, чтобы имя «friendly» отобразилось в вашем vCenter или host client view, вы можете:
Подключиться к рабочему хосту через сеанс SSH и войти в систему с учетными данными root
Использовать команду: # esxcli storage filesystem list. Выход будет приблизительно таким:
/vmfs/volumes/ad495351-37d00fe1-c498-a82a72e0c050 abc-lun3 ad495351-37d00fe1-c498-a82a72e0c050 true VMFS-5 805037932544 400613703680
В этом примере abc-lun3 – это имя «friendly» хранилища данных, которое вы найдете в вашем vCenter или host client, и запись Syslog.global.logDir должна быть в формате [abc-lun3]/foldername.
Многие слышали, но боялись "пощупать" страшного зверя по имени FreeSwitch (FS). Уверяю Вас, что страшного ничего нет. Правда придется перестроить свои мозги на его понимание. Он сильно отличается от Asterisk. И хотя FS такая же программная АТС как и Asterisk, но задачи у них разные. FS позиционируется как "провайдерская" АТС, а Asterisk офисный вариант. Несмотря на это, я его использую даже, как говорится, "для дома, для семьи", то есть дома на одноплатнике Orange PI Plus 2E. Так как на нем стоит Ubuntu 16, то описывать установку я буду для Ubuntu из исходников.
Если кому-то нужно попроще, то может установить на Debian (разработчики именно его рекомендуют.
Как поставить из пакетов можно почитать здесь https://freeswitch.org/confluence/display/FREESWITCH/Linux
А для самых искушенных даже на Windows :) https://freeswitch.org/confluence/display/FREESWITCH/Windows
Сначала необходимо выполнить обновление системы:
apt-get update
apt-get upgrade
Установим зависимости:
apt-get install autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool make python-dev gawk pkg-config libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev libtool-bin libopus-dev libshout3-dev libmpg123-dev libmp3lame-dev libsndfile-dev libavresample-dev libswscale-dev libpng-dev libpng++-dev mpg123
После этого перезагружаемся:
reboot
Создаем папку и клонируем гит:
cd /usr/src
git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git
cd /usr/src/freeswitch
./bootstrap.sh –j
Подключаем необходимые модули:
mcedit modules.conf
+ mod_rtmp
+ mod_directory
+ mod_callcenter
+ mod_dingaling
+ mod_shout
+ mod_cidlookup
+ mod_curl
+ mod_xml_curl
Мне нужно было использовать zrtp и хранить данные в базе PostgreSQL (кстати, разработчики считают MySQL недобазой :)) Собираем с ключами:
./configure --enable-zrtp --enable-core-pgsql-support
make
make install
Если при сборке FS ругается на openssl (switch_core_cert.lo) или что то подобное, то нужно проверить версию. Под 1.1.0 не устанавливается. Нужно ставить 1.0.2
Устанавливаем звуковые файлы:
8 kHz Standard Audio
make sounds-install
make moh-install
16 kHz High Definition Audio
make hd-moh-install
make hd-sounds-install
32 kHz Ultra High Definition Audio
make uhd-moh-install
make uhd-sounds-install
48 kHz CD Quality Audio
make cd-sounds-install
make cd-moh-install
Установим русские звуковые файлы:
make sounds-ru-install
make cd-sounds-ru-install
make uhd-sounds-ru-install
make hd-sounds-ru-install
Установим права и владельцев:
adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch
chown -R freeswitch:daemon /usr/local/freeswitch/
chmod -R o-rwx /usr/local/freeswitch/
Создадим init скрипт для запуска /etc/init.d/freeswitch:
#!/bin/bash
### BEGIN INIT INFO
# Provides: freeswitch
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Freeswitch debian init script.
# Author: Matthew Williams
#
### END INIT INFO
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
DESC="Freeswitch"
NAME=freeswitch
DAEMON=/usr/local/freeswitch/bin/$NAME
DAEMON_ARGS="-nc"
PIDFILE=/usr/local/freeswitch/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
FS_USER=freeswitch
FS_GROUP=daemon
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that sets ulimit values for the daemon
#
do_setlimits() {
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
ulimit -i unlimited
ulimit -n 999999
ulimit -q unlimited
ulimit -u unlimited
ulimit -v unlimited
ulimit -x unlimited
ulimit -s 240
ulimit -l unlimited
return 0
}
#
# Function that starts the daemon/service
#
do_start()
{
# Set user to run as
if [ $FS_USER ] ; then
DAEMON_ARGS="`echo $DAEMON_ARGS` -u $FS_USER"
fi
# Set group to run as
if [ $FS_GROUP ] ; then
DAEMON_ARGS="`echo $DAEMON_ARGS` -g $FS_GROUP"
fi
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null --
|| return 1
do_setlimits
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background --
$DAEMON_ARGS
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0
Установим ссылку на CLI
cd /usr/local/bin/
ln -s /usr/local/freeswitch/bin/fs_cli fs_cli
Проверим всё ли запускается:
cd /usr/local/freeswitch/bin
./freeswitch
freeswitch@s02d> sofia status (или просто нажимаем F5)
freeswitch@s02d> list_users
Если нет ошибок, и высветились профили и пользователи, то можно отключаться:
freeswitch@s02d> shutdown
Меняем стандартный пароль для всех пользователей (указав свой):
mcedit /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="default_password=lkhd456hkhggl2"/>
Включаем русский язык, если нужно:
mcedit /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/elena"/>
<X-PRE-PROCESS cmd="set" data="default_language=ru"/>
После правки применяем изменения:
fs_cli -x "reloadxml"
Устанавливаем необходимые кодеки:
mcedit /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,PCMU,PCMA,VP8"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,PCMU,PCMA,VP8"/>
Ну и в конце стартуем FS:
service freeswitch start
Для подключения к FS используем следующую команду:
fs_cli -rRS
Вот и всё. Мы установили и запустили FreeSwitch. О том, как настраивать пользователей, гейты, диалплан читайте в следующих статьях.
Подсистема Windows для ОС Linux, как отдельное приложение в Windows 11.
Теперь пользователям Windows стало проще изучать ОС Linux на своих компьютерах с установленной ОС Windows 11. Компания Microsoft разработала собственную подсистему Windows для Linux (Windows Subsystem for Linux - WSL), которая доступна в Microsoft Store для ОС Windows 11.
WSL - это приложение, которое позволяет пользователям Windows запускать среду GNU/Linux непосредственно в Windows без дополнительной установки виртуальной машины или установки двух ОС на один ПК. Одним из удобных аспектов является то, что WSL устанавливается как отдельное приложение, отделенное от операционной системы. Это означает, что пользователи могут обновлять приложение, не дожидаясь, пока станут доступны обновления ОС Windows.
Данное приложение в Microsoft Store не является новой версией WSL. Это все еще WSL 2. Но это preview-версия, которая была добавлена в качестве опции для конечных пользователей, чтобы быстрее и удобнее получать новейшие функции. Двоичные файлы больше не будут входить в образ ОС Windows.
Если вы не еще не успели познакомиться с WSL 2, то в новой версии заметите серьезную переработку базовой архитектуры WSL и использование виртуализации и ядра Linux для включения новых функций. Это позволило увеличить производительность файловой системы и поддерживать полную совместимость с системными вызовами. Чтобы установить и использовать WSL из Microsoft Store, у пользователя должна быть установлена ОС Windows 11 build 22000 или выше. Новые функции включают в себя то, что WSLg (графический интерфейс, поддерживающий запуск приложений Linux) теперь поставляется в комплекте с ним. Кроме того, теперь проще монтировать файлы образов виртуального жесткого диска, доступно определение типа файловой системы и поддерживается именование точек монтирования через WSL. Они также добавили индикатор, который сообщает о длительном процессе установок. Ядро Linux было обновлено до версии 5.10.60.1.
Подсистема для Linux включена в WSL 1, но ее нет в WSL 2 из Microsoft Store, так как она является отделенным от образа Windows. Кроме того, приложения с Linux GUI уже будут установлены — все, что вам нужно, в одном пакете. Пользователям не надо будет ничего удалять из своих систем. У них по-прежнему будет возможность запустить более старую установленную версию WSL.
Почему же на данный момент можно установить только preview-версию? Компания Microsoft все сводит к тому, чтобы в конечном итоге перевести всех на версию WSL из Microsoft Store для лучшего взаимодействия с пользователем, более быстрых обновлений и отсутствия необходимости обновлять свою ОС. Но все решит пользователь, как будет развиваться WSL. После тестирования данной подсистемы как отдельного приложения пользователями, компания Microsoft примет решение о курсе развития технологии WSL.