Задать вопрос
  • Как сделать область экрана неактивной для клика мышью?

    @rPman
    Могу порекомендовать метод, судя по скриншоту, интерфейс из 200x, элементы окна чистый win32. Если повезет.

    С visual stusdio (можно community версию) шла утилита spy+, хорошая исследовательская, позволяла изучать интерфейс чужих приложений (просто кликнув по кнопке в интерфейсе spy+ и затем в окно программы, вроде бы есть альтернативы типа winspy++, советую погуглить), видеть дерево HWND компонент. затем можно написать минимальное приложение (хоть в том же autoit или сразу на c++ если будет visual studio), отключающее контрол в принципе, что то типа такого (код как пример, способ поиска контрола может отличаться:
    openai:gpt5.4 api
    #include <MsgBoxConstants.au3>
    
    ; =========================
    ; Константы
    ; =========================
    Global Const $MAIN_WINDOW_CLASS   = "MyMainWindowClass"
    Global Const $MAIN_WINDOW_TITLE   = "Моё старое приложение"
    Global Const $BUTTON_TEXT         = "OK"
    
    ; =========================
    ; Ищем главное окно
    ; =========================
    Local $hWnd = WinGetHandle("[CLASS:" & $MAIN_WINDOW_CLASS & "]", $MAIN_WINDOW_TITLE)
    
    If @error Or $hWnd = "" Then
        MsgBox($MB_ICONERROR, "Ошибка", "Главное окно не найдено")
        Exit
    EndIf
    
    ; =========================
    ; Ищем дочерний контрол
    ; =========================
    Local $hButton = ControlGetHandle($hWnd, "", $BUTTON_TEXT)
    
    If @error Or $hButton = "" Then
        MsgBox($MB_ICONERROR, "Ошибка", "Кнопка не найдена")
        Exit
    EndIf
    
    ; =========================
    ; Делаем кнопку disabled
    ; =========================
    ControlDisable($hWnd, "", $hButton)
    
    If @error Then
        MsgBox($MB_ICONERROR, "Ошибка", "Не удалось отключить кнопку")
        Exit
    EndIf
    
    MsgBox($MB_ICONINFORMATION, "Готово", "Кнопка отключена")

    Почему лучше отключить? потому что отключенный контрол нельзя нажать не только мышкой но и с клавиатуры. Ну и скрипт нужно запускать только после запуска целевого приложения и держать запущенным постоянно не требуется.
    Ответ написан
    4 комментария
  • Как мне восстановить работу ноды?

    @rPman
    'правильный' с точки зрения production ready подхода, разделять хранилище и сервер приложений, т.е. у вас должен быть отдельный nas под данные (образы ОС) и резервные копии делать уже средствами этого nas (потому что только он сможет к примеру давать эффективные инкрементальные копии), конечно резервированием машин (данных) могут заниматься сами виртуальные машины изнутри своими средствами.

    Бакап конфига делать штатными инструментами, теми же скриптами PowerCLI из PowerShell, восстановление будет из файла одной командой (сервер перезагрузится и все работает).

    p.s. на сколько я знаю у vmware есть HA кластер, можно заранее настроить backup сервер, и либо планово либо по обнаружению сбоя, переносить туда сервера, время отключения в этом случае будет секунды-минуты.

    это благодаря выносу образов на отдельно стоящий nas, но это накладывает свои требования к сети до него (спасибо 10гб сетевые карты сейчас очень доступны)

    p.p.s. если у вас образы хранятся локально на той же машине, то как я нагуглил (я думал что у ESXi этого нет) VMware VADP + CBT (эффективно инкрементальные копии) но это вопрос наличия лицензии на соответствующие компоненты.

    всегда задаю вопрос, почему именно ESXi и VMware? что вас заставляет ограничивать себя проприетарным функционалом и забористыми ценами? чем не угодили открытые и простые как валенок lxc/kvm/vbox? virtmanager/proxmox? когда собираешь из открытых компонентов себе конструкцию, как из лего, можно получить очень эффективные решения, позволяющие в т.ч. сэкономить и на железе, но само собой не отменяет оплату человеку, который у тебя все это будет поддерживать... но бизнесу, особенно в долгосроке, выгодно платить своему сотруднику, ведь у тебя после этого останется созданное им (особенно если следить за этим и не порождать локальный вендорлок) и даже может быть сам сотрудник, т.е. вложенные деньги останутся в компании как ресурс, а вот оплата лицензий и абонентки (если облака) улетает в никуда, не оставляя после себя ничего кроме 'сожалений'.
    Ответ написан
    Комментировать
  • Проект для программирования?

    @rPman
    Утилиту для загрузки музыки с сайта yandex music, и не по одному файлу, таких пруд пруди, а альбомами или списком. И очевидная польза, и сразу несколько областей заденешь (не только разработка но и реверсинженеринг) и не сильно сложная.
    Ответ написан
  • Как портировать игру с Play Station 1 на андроид?

    @rPman
    Обязательно добавьте себе в память юридические риски, использование чужих изображений, особенно таких крупных компаний как Sony, сопряжены с большими денежными штрафами.

    Тут Nintendo судится с игровыми стартапами и студиями за игровые механики! успешно причем.

    Поэтому не будите лихо.
    Ответ написан
    Комментировать
  • Как лучше подключать СХД к Proxmox Backup?

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

    Самый известный протокол iscsi (лично я считаю его в большинстве ситуаций, особенно маленьких организаций и дома - перегруженным, но спасибо есть простые сервера для самодельных nas типа linux istgt).
    До него был еще проще (с точки зрения нагрузки на сервер/nas) NBD (network block device) - очень простой и эффективный по ресурсам для NAS (особенно для слабых машин).
    Есть еще старый AOE (ata over ethernet), он позволяет публиковать диск/образы по ethernet вне ip/tcp стека (т.е. минус оверхед от организации сети).
    Еще нагуглил NVMe over tcp (я знал что есть по fibre такая технология, но что ее сделали по tcp я не знал).
    Все это прекрасно работает в linux, но нужно смотреть поддержку NAS.

    p.s. помимо организации самой работы, нужно думать что произойдет во время сбоя связи между сервером и NAS, к примеру если диски примонтированы mount (особенно если диски примонтированы на хост машине а не каждый диск внутри VM) то разрыв связи создаст проблемы на сервере, подвисание с длительным периодом решения этой проблемы.

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

    По поводу организации резервного копирования, есть неплохие идеи при использовании мощных ZFS/btrfs файловых систем, у них встроенная и бесплатная по ресурсам система организации снапшотов, а главное есть возможность отправлять по сети/или хранить разницу между указанными снапшотами в виде файла (полный аналог diff/patch для текстов), и удаленно применяя эти патчи к холодной резервной копии (или просто хранить в виде файлов, но при необходимости их придется применять к стартовому состоянию на бакап сервере в правильном порядке без пропусков), на текущий момент это наилучший способ организации инкрементального резервного хранилища, универсально подходит под любые нужды, хоть VM хоть типовой сервер.
    spoiler
    Т.е. держишь образы виртуальной машины в файлах (или образах zfs). Для работы нужно хранить снапшот того состояния, что развернут на втором сервере, и в момент старта резервного копирования, создавать новый снапшот, запрашивать разницу между ними (это 'бесплатная' операция, работает максимально быстро, на скорости чтения данных с диска только разницы) и после успешного его сохранения, удалять старый снапшот. При создании системы резервногоо копирования понадобится стартовое состояние диска, его получают как initial снапшот, и с этого момента пропускать и нарушать порядок инкрементальных копий нельзя.

    Такие резрвные копии можно делать очень часто, хоть раз в несколько секунд, так как не несут накладных расходов на получение инкрементальной копии кроме как на ее копирование, когда как любые иные файловые системы или инструменты поверх них, либо роняют производительность записи, либо требуют долгий анализ данных для получения инкрементальной копии
    Ответ написан
    Комментировать
  • Access: скрытая предзагрузка форм без мелькания?

    @rPman
    попробуй задать неправильные размеры или положение для окна за границами десктопа, так же его можно делать сминимизированным
    Ответ написан
    Комментировать
  • Что делать если не очищается место на диске C ssd?

    @rPman
    Запустите штатную утилиту "Очистка диска", из пуск. При запуске сразу нажать кнопку 'Очистить системные файлы' (потребует повышение прав).
    Все предлагаемые пункты можно безопасно выбирать, для удаления выбранных категорий файлов нажать ОК.

    На второй закладке 'Дополнительно' утилиты 'Очистка диска' внизу кнопка 'Очистить' для теневых копий восстановления. Это удалит теневые копии, которые не видно в проводнике, но они создаются например перед обновлением системы. Если вы сами не создавали теневые копии то эта операция так же совершенно безопасна.

    Теневые копии например используются системой обновления, перед каждым обновлением создается копия, на состояние которой можно откатить операционную систему, если обновление что то сломает (это в настройках службы обновлений), если текущие созданные удалить, просто исчезнет возможность откатиться назад по простому (но само собой останется способ удаления обновлений вручную по одному)
    Ответ написан
    Комментировать
  • Почему не работает код из js файла?

    @rPman
    Все ответы правильные, типовая рекомендация, добавлять не сам код а создавать функцию, которую прописать на какое-нибудь событие окончания загрузки страницы, например:
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <link rel="stylesheet" href="style.css" />
      </head>
      <script>
      function main(){
        let button = document.createElement('button');
        button.textContent = 'Добавить книгу';
        document.body.append(button);
      }
      </script>
      <body onload="main();"></body>
    </html>
    Ответ написан
    Комментировать
  • Как ограничить фоновый трафик (Android + Windows 11)?

    @rPman
    Для wifi просто напросто ломаете интернет (меняете шлюз на заведомо не рабочий), а для доступа в интернет пользуетесь proxy, запущенный у вас в локальной сети (например firefox с расширением foxyproxy позволяет настроить прокси, настраивая правила по доменам и регулярным выражениям). Если приложения, которым нужен интернет не поддерживают прокси, то тогда фильтрацию придется выносить так же на уровень vpn (многие vpn приложения могут работать прицельно для выбранных приложений), при этом машина в локальной сети, на которую настроен шлюз по умолчанию для wifi может работать полноценным шлюзом для доступа к этому vpn и только (т.е. блокировать весь интернет кроме vpn).

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

    В обоих случаях vpn сервер может быть у вас рядом на ваших машинах.
    Ответ написан
    Комментировать
  • Возможно ли узнать о наличии ВПН на телефоне?

    @rPman
    В зависимости от причин, по которым на выданный вам телефон организацией, был установлен запрет на vpn, за нарушение этого запрета вам может прилететь от лайтовых штрафов и 'пожурить' до уголовной ответственности (например за кражу информации или нарушение уровня безопасности, когда данные уходят в интернет минуя защитные фильтры организации).

    Настоятельно рекомендую изучить юридическую сторону вопроса, и, может быть, вам действительно дешевле и проще приобрести БУ смартфон и пользоваться им на своих условиях (естественно вне периметра организации и вне ее доступа в интернет)
    Ответ написан
    Комментировать
  • Как остаться на той же странице при скачивании файла?

    @rPman
    По коду у вас открытие страницы делает браузер с помощью javascript.

    Что бы ссылка скачивалась а не открывалась в браузере (исключение, специально настроенные в браузере типы файлов, например pdf по умолчанию в браузерах открывается, но это настраивается), то сервер при формировании ответа по этой ссылке в headers задать два заголовка Content-Type и Content-Disposition: attachment
    header('Content-Type: application/xml');
    header('Content-Disposition: attachment; filename=filename.xml');

    в данном случае тип данных application/xml а имя файла filename.xml (оно будет предложено в диалоге сохранения)

    Повторю, эти заголовки должны быть отданы сервером по ссылке (в твоем случае это $linkFile) и если то не ваш сервер то у вас мало вариантов, кроме как проксировать их через себя.

    p.s. есть еще вариант, он подходит если файлы по ссылке не большие (влезают в оперативную память у клиента) и главное удаленный веб сервер не запрещает кросс запросы CORS то можно загрузить файл на javascript и отдать его как blob
    fetch('https://example.com/test.xml')
      .then(r => r.blob())
      .then(blob => {
        const url = URL.createObjectURL(blob);
        const a = document.createElement('a');
        a.href = url;
        a.download = 'test.xml';
        a.click();
        URL.revokeObjectURL(url);
      });

    кстати если файл в том же домене, то можно просто создать тег с атрибутом download, не используя blob

    Вроде бы больше нет никаких способов, либо content-disposition либо формировать blob и тег a с атрибутом download
    Ответ написан
    3 комментария
  • Поясните за теневые копии?

    @rPman
    Теневые копии работают на уровне кластеров файловой системы.
    Теневые копии начинают занимать место в тот момент когда идет перезапись уже существующего файла (на уровне кластеров, т.е. если отредактировать 4кб от 100гб файла, то место будет занято под эти 4кб + метаданные)

    p.s. лично я не пользовался теневыми копиями windows (она сама ими пользуется, к примеру при обновлении), максимум включал скриптами при резервном копировании... и никогда не интересовался что же произойдет если место закончится, точнее я считал что произойдет логичная ошибка записи, но нет!

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

    p.p.s. в linux снапшоты того же btrfs/zfs работают не так, запись cow идет по определению в новое место, никакого копирования, и при нехватке места для снапшота будет ошибка у приложения которое пишет а не утилиты резервного копирования.

    а вот теневая копия ntfs, при первом изменении кластера, перепишет его в новую область (похоже вроде бы работали lvm снапшоты, собственно они и появились в то же время), кратно замедляя операции записи

    т.е. не только убьет вашу резервную копию но еще и замедлит работу основного приложения
    Ответ написан
    1 комментарий
  • Как решить длинные диалоги с ИИ?

    @rPman
    Правильно (наверное, я этим не пользуюсь) - заплатить и получить штатный функционал памяти, как этим пользоваться я не знаю но практически все топовые компании с этим экспериментируют.

    Еще вариант, заплатить и пользоваться сервисом через API, чем то типа openweb ui, как минимум там есть возможность клонировать беседу, редактировать ее по сообщениям и т.п. так же там есть возможность прикрутить свои утилиты, в общем есть где разгуляться.

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

    @rPman
    Технически решение есть - покупка нескольких модемов, несколько договоров с провайдером (симкарт) и специальный vpn с агрегацией (в linux это называется bonding, штатная фичя объединения нескольких l2 tap туннелей в один, там разные стратегии от суммирования до дублирования).

    Итоговая скорость будет примерно суммой скоростей каждого модема в отдельности.

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

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

    @rPman
    * Как выбирать какое приложение где запускать?
    Виртуализация (как полная так и паравиртуализация) - это разные уровни изоляции.

    Универсально есть популярное эмпирическое правило - выноси приложение в отдельную виртуальную машину, если оно не может быть запущено без изоляции.

    Типовые примеры - например запрет одновременного запуска на одном железе (две операционные системы linux/windows/windows server или разные версии одного и того же приложения, это вообще типовой способ использования паравиртуализации docker, разный софт требует разные зависимости, которые очень сложно/дорого/невозможно устанавливать в пределах одной установки ОС)

    Второе правило - изоляция по доступу к оборудованию, особенно это актуально, если приложение требует полный доступ к оборудованию и забирает его полностью (например процессор или память или доступ к диску), в некоторых случаях лимиты можно накладывать средствами ОС (например в linux) но проще выделить виртуалку.

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

    * Как выбирать сколько ресурсов выделять виртуальной машине?
    Общий подход - выделяй минимально требуемые под ОС и выбранные приложения, и при необходимости постепенно повышай. Это главная фича систем виртуализации - легкая настройка оборудования, в некоторых случаях можно даже без перезагрузки добавлять ресурсов (при использовании паравиртуализации).

    * Как правильно выбрать способ хранения образов и выбор файловой системы на хосте?
    Зависит от требований, задач и возможности оплатить ресурсами возможности.

    Прямой доступ к разделам без LVM - самая быстрая работа, отсутствуют возможности для создания снапшотов, но можно использовать снапшоты zfs (у него есть возможность создавать образы дисков)
    LVM - старый метод управления разделами, поддержка снапшотов, пока активен снапшот, скорость работы диска падает кратно количеству снапшотов.
    Файлы в каталоге - самый универсальный и удобный метод, поддержка снапшотов (файловые системы btrfs/zfs), самый медленный, файлы образов будут фрагментироваться.

    Вообще то у qemu есть своя система создания снапшотов, но в интерфейсе proxmox это недоступно. Обычно всегда спрашиваю, почему именно выбрали proxmoix в качестве менеджера виртуальных машин? Почему бы не установить debian, поверх него libvirt и gui к нему по типу virtmanager или запускать виртуальные машины вручную из командной строки? это самый полнофункциональный способ, самый простой, но ограничивает функционал кластерными фишками (когда несколько физических хост серверов, миграция машин между ними и т.п.).

    * Работа с информацией?
    не держи все яйца в одной корзине, чувствительные вещи храни в keepass, у него есть механизмы онлайн резервного копирования на сторонние сервера, с надежным шифрованием, поднимай свои любимые приложения для каталогизации информации на стороне.
    Ответ написан
    1 комментарий
  • Могут ли операторы достоверно определить использование VPN?

    @rPman
    да, способ достоверного использования vpn (или любого другого инструмента смены 'выходного' ip адреса) есть:
    * встроенная аналитика на сайтах (если пользователь зайдет на сайт через vpn в котором встроена аналитика от того же yandex, то злоумышленник может сопоставить данные от провайдера пользователя и yandex, причем делать это в автоматическом режиме простейшими алгоритмами)
    * любые сайты и сетевые сервисы (тот же dns и как частный случай dns-leak), которые хостятся на российских (точнее подконтрольных, никто ведь не мешает купить подсеть, арендовать сервера и продавать за рубли услугу vpn, пусть клиенты удивляются что они такие умные) при наличии оборудования, это та же аналитика, достаточно метаинформации и таймингов пакетов что бы сопоставить клиента и сравнить выходной ip.
    * аналитика в приложениях (да тот же яндекс браузер, мощнейшее шпионское приложение, слушает, следит куда ходишь и даже пользуется ресурсами пользователя, скорее всего для анализа данных от микрофона.. то же самое делает и гугл хром просто вопрос кому информацию сливать и зачем), мобильные приложения - напомню что уже несколько лет по закону все продаваемые смартфоны снабжаются пакетом софта, определяемым государством, шансов что там нет следящих модулей - ноль процентов.
    * паттерны использования сетевого трафика, это сложнее и дороже (как я понимаю тспу нагружает сильно), но у каждого сетевого протокола исключительно по таймингам и размерам пакетов, можно выдавать очень надежно ответ - vpn это или нет (да не 100% но в наших реалиях 'презумпция невиновности' уже не работает, тебя накажут а ты потом иди доказывай кто из вас верблюд, например повысив плату в 10-100 раз, эксперименты МТС, услуга - доступ к файлообменным сетям)

    Единственная причина, что тот или иной протокол vpn не блокируется - это организационные особенности настройки блокировок и ограничения оборудования. Сейчас они просто собирают информацию на менее нагруженных мобильных сетях,.. и не сомневайтесь, в момент икс блокировать будут всех и вся.
    Ответ написан
  • Какой оптический терминал Ростелекома брать?

    @rPman
    Эти роутеры ростелеком ставит пользователю сам (конечно же добавляя к тарифу ежемесячные 99р и вынуждая при уходе к другому провайдеру выплатить порядка 6т.р.), значит и замену их при обнаружении 'постоянные перебои' делает компания тоже сама. Вызываете мастеров, объясняете проблему, можете показать наглядно, на следующий день они приносят замену... как минимум у меня так было пару лет назад...
    Ответ написан
    1 комментарий
  • В чем разница между Системным администратором и Сетевым инженером?

    @rPman
    сетевой инженер занимается сетями, настройкой оборудования, проектирование сетей и т.п. (в вырожденных случаях он же и провода тянет).
    системный администратор настраивает операционную систему и программы

    в некоторых случаях системный администратор может выполнять задачи сетевого инженера, но когда сеть крупная, удобнее и логичнее выделить на это отдельного человека
    Ответ написан
    7 комментариев
  • Можно ли создать новый аккаунт, сохранив данные со старого, но показаться удалённым некоторым людям?

    @rPman
    Штатно есть только это:
    Настройки > Конфиденциальность и безопасность > Последний раз был(а) и онлайн, выбрать Никто и внизу Скрывать время прочтения

    но боюсь 'был давно' все равно изменится на 'был недавно'
    Ответ написан
    Комментировать
  • Как в PostgreSQL организовать синхронизацию данных между геораспределенными копиями?

    @rPman
    Так как все говорят про репликацию, это правильно и красиво... выдам свой необычный вариант (бывают случаи, когда это оправдано).

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

    Условный пример, узлы собирают данные (много записей), каждый узел пишет только у себя, а затем на их основе происходит работа с ними (аналитика и маленький объем данных на чтение). Например запрос на подсчет суммы, отправляем запрос на каждую ноду одновременно, затем складываем результат. Если нужны запросы, затрагивающие глобально данные (например посчитать количество дубликатов), то так или иначе их придется где то собирать, поэтому можно совместить подход, таблицы реплицируются... есть еще нестрогие количества HyperLogLog (глобально собираются вычисляемые по данным значения типа хеша и по ним проводится анализ).. в общем децентрализованная аналитика во всей красе, там где математически можно разделять (как с поиском суммы) там это идеально подходит.

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