Problem z n36/s18.hostmc.pl - 12.05.2017


#1

W nocy, kiedy od wielu godzin nikogo na serwerze nie było, mi serwer padł. W logu widzę:

[03:53:34] [Server thread/WARN]: java.io.IOException: No space left on device
[03:53:34] [Server thread/WARN]: at java.io.FileOutputStream.writeBytes(Native Method)
[03:53:34] [Server thread/WARN]: at java.io.FileOutputStream.write(FileOutputStream.java:313)
[03:53:34] [Server thread/WARN]: at java.util.zip.GZIPOutputStream.writeHeader(GZIPOutputStream.java:182)
[03:53:34] [Server thread/WARN]: at java.util.zip.GZIPOutputStream.<init>(GZIPOutputStream.java:94)
[03:53:34] [Server thread/WARN]: at java.util.zip.GZIPOutputStream.<init>(GZIPOutputStream.java:109)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.NBTCompressedStreamTools.a(NBTCompressedStreamTools.java:32)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.WorldNBTStorage.saveWorldData(WorldNBTStorage.java:120)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.ServerNBTManager.saveWorldData(SourceFile:45)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.WorldServer.a(WorldServer.java:1057)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.WorldServer.save(WorldServer.java:1000)
[03:53:34] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_11_R1.CraftWorld.save(CraftWorld.java:748)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:703)
[03:53:34] [Server thread/WARN]: at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576)
[03:53:34] [Server thread/WARN]: at java.lang.Thread.run(Thread.java:745)
[03:53:34] [Server thread/WARN]: java.io.IOException: No space left on device
[03:53:34] [Server thread/WARN]: at java.io.FileOutputStream.writeBytes(Native Method)
[03:53:34] [Server thread/WARN]: at java.io.FileOutputStream.write(FileOutputStream.java:313)
[03:53:34] [Server thread/WARN]: at java.util.zip.GZIPOutputStream.writeHeader(GZIPOutputStream.java:182)
[03:53:34] [Server thread/WARN]: at java.util.zip.GZIPOutputStream.<init>(GZIPOutputStream.java:94)
[03:53:34] [Server thread/WARN]:

Niby nie mam miejsca na dysku, ale to moim zdaniem nie jest prawdą, bo kopia zapasowa serwera (ręcznie zrobiona za pomocą ftp kilka dni temu) ma tylko 361 MB, a kopie zapasowa plików zrobiona w tej chwili ma 390 MB. Podczas zamawiania serwera jest informacja, że będę miał do dyspozycji 3 GB na dysku.

Po restartowaniu i zalogowaniu został dla mnie stworzony nowy pusty profil z innym UUID, więc budynki są na miejscu, ale nie mogę z nimi nic robić, bo są przypisane do innego UUID.

Po chwili googlowania znalazłem, że może chodzi o to, że w server.properties jest zmienione online-mode true/false. I faktycznie - wcześniej miałem ustawione online-mode=false, teraz mam online-mode=true. Więc najprawdopodobniej został uszkodzony lub skasowany plik server.properties i teraz został ponownie wygenerowany.

Mam takie pytania:

  1. Jak sprawdzić, ile miejsca na dysku zajmuje mój serwer? Tego nie widzę ani w konsoli ani w statystykach.

  2. Czy są na serwerze robione automatyczne kopie zapasowe? Gdzie? Ewentualnie jak to ustawić?

  3. Jak naprawić obecną sytuację? Czy wystarczy z kopii zapasowej przywrócić stary server.properties?


Chyba znowu coś padło: "550 Could not delete server.properties: Read-only file system"
#2
  1. komenda df
  2. jeśli nie robiłeś kopii zapasowych to ich nie ma
  3. brak miejsca na dysku nie ma nic wspolnego z server.properties
    Usuń niepotrzebne rzeczy takie jak np. katalog logs,stare mapy, nieużywane pliki. ew. jeśli to VPS to zwiększ pakiet żeby mieć więcej miejsca :smiley:

Edit: Nie doczytałem że tu jednak nie chodzi o VPS :confused:


#3
  1. Co robi komenda “df”, gdzie ją mam wykonać? W konsoli?
  2. Brak miejsca na dysku może mieć coś wspólnego z server.properties - ten może zostać skasowany lub może mieć zerową długość, dlatego potem został wygenerowany ponownie. Problem jednak polega na tym, że wszystkie moje dane zawierają niecałe 400 MB (a limit podobno jest 3 GB).

#4

Jest tu mowa o hostowanym MC.

Zdążyłem już sprawdzić i brak miejsca na dysku wygląda na zaniedbanie z mojej strony.
Standardowo kopie są dostępne zgodnie z tymi warunkami

Jednak jako że jest to z mojej winy, w katalogu FTP serwera znajdziesz już teraz folder z kopią z 10 maja kiedy problem na pewno nie miał miejsca więc masz teraz możliwość przywrócić pliki takie jakie Ci trzeba sprzed tego zdarzenia.

Na węźle z którym wystąpił ten problem czyli n36, dołożyłem więcej miejsca na dysku.


#5

Dziękuję za odpowiedź.
Ja nie czekałem na odpowiedź i zrobiłem to:

  • zrobiłem kopię zapasową za pomocą ftp plików ze serwera na swój komputer
  • przwyróciłem server.properties sprzed kilku dni
  • po zalogowaniu system mi ujednolicił profile, czyli stary profil został nadpisany nowym, czyli straciłem wszystkie rzeczy, które miałem przy sobie, ale obszary są znowu przypisane do mnie.
  • znalazłem na dysku w katalogu world/playerdata/ plik ze starymi danymi “*.dat.offline-read”. Tym plikiem zastąpiłem plik z nową zawartością i wszystko było ok. Czyli znowu mam przy sobie te rzeczy, które miałem wczoraj.

Ponieważ kopia zapasowa jest z południa, to ja z niej na razie nie skorzystam, o ile innym graczom wszystko będzie działać.

W każdym razie dziękuję za szybką reakcję i wyjaśnienie, co się stało.


#6

Problem występował przy zapisie mapy, a był spowodowany “zaniedbaniem” SystemZ :slight_smile:


#7

Po południu nagle znowu padł serwer.
[17:25:35] [Spigot Watchdog Thread/ERROR]: The server has stopped responding!

Log jest oczywiście dłuższy. Restart się nie udał, bo serwer mówił, że nie potrafi załadować pliku server.properties:

[17:29:11] [Server thread/INFO]: Starting minecraft server version 1.11.2
[17:29:11] [Server thread/INFO]: Loading properties
[17:29:11] [Server thread/WARN]: Failed to load server.properties
java.io.IOException: Input/output error
	at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_121]
	at java.io.FileInputStream.read(FileInputStream.java:233) ~[?:1.8.0_121]
	at java.util.Properties$LineReader.readLine(Properties.java:435) ~[?:1.8.0_121]
	at java.util.Properties.load0(Properties.java:353) ~[?:1.8.0_121]
	at java.util.Properties.load(Properties.java:341) ~[?:1.8.0_121]
	at net.minecraft.server.v1_11_R1.PropertyManager.<init>(PropertyManager.java:26) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.PropertyManager.<init>(PropertyManager.java:51) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:129) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:544) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[17:29:11] [Server thread/INFO]: Generating new properties file
[17:29:11] [Server thread/INFO]: Default game type: SURVIVAL
[17:29:11] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-625bc00-186c351 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)
[17:29:11] [Server thread/ERROR]: Cannot load bukkit.yml
java.io.IOException: Input/output error
	at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_121]
	at java.io.FileInputStream.read(FileInputStream.java:255) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:1.8.0_121]
	at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:1.8.0_121]
	at java.io.BufferedReader.fill(BufferedReader.java:161) ~[?:1.8.0_121]
	at java.io.BufferedReader.readLine(BufferedReader.java:324) ~[?:1.8.0_121]
	at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:1.8.0_121]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:176) ~[serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:130) ~[serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:179) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.craftbukkit.v1_11_R1.CraftServer.<init>(CraftServer.java:213) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.PlayerList.<init>(PlayerList.java:75) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.DedicatedPlayerList.<init>(SourceFile:14) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:182) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:544) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[17:29:11] [Server thread/ERROR]: Cannot load commands.yml
java.io.IOException: Input/output error
	at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_121]
	at java.io.FileInputStream.read(FileInputStream.java:255) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:1.8.0_121]
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:1.8.0_121]
	at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:1.8.0_121]
	at java.io.BufferedReader.fill(BufferedReader.java:161) ~[?:1.8.0_121]
	at java.io.BufferedReader.readLine(BufferedReader.java:324) ~[?:1.8.0_121]
	at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:1.8.0_121]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:176) ~[serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:130) ~[serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:179) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at org.bukkit.craftbukkit.v1_11_R1.CraftServer.<init>(CraftServer.java:225) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.PlayerList.<init>(PlayerList.java:75) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.DedicatedPlayerList.<init>(SourceFile:14) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:182) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:544) [serwer37970.jar:git-Spigot-625bc00-186c351]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

Chciałem więc wgrać plik server.properties z dzisiejszego rana. Ale nic nie mogę zrobić, bo: 550 Could not delete server.properties: Read-only file system

Więc nie wiem, czy są zepsute uprawnienia moich plików, czy może w ogóle na serwerze hostingowym jest jakiś problem.


#8

Miałem jakiś czas temu problem z dyskiem w SYS, właśnie tak się działo. Po zgłoszeniu wymienili dysk i nic się nie zmieniło, znowu tak padło, po restarcie dedyka wracało do normy. Ale jakiś czas potem znowu się pojawiał ten błąd. W końcu wyszło na to, że zrezygnowałem z tamtej dzierżawy na rzecz jednego więcej w OVH, bo chciałem przy okazji testować load balancer D:


#9

Zdaje się, że problem dotyczy całego serwera s18.hostmc.pl. Patrzę na mclistę (mclista.pl) i próbuję się połączyć z dowolnym serwerem na s18 i na razie nic.


#10

Tak jak już wyżej pisałem, najprawdopodobniej coś się sypie z dyskiem D:

jak u mnie się tak działo to plików nie straciłem, poza tym, że trochę napsuło przez brak możliwości zapisu

taguje tutaj @SystemZ, może się przyda moja historia :smiley:
a ty @Lempik możesz przy okazji napisać ticketa i podlinkować ten wątek.


#11

Mam kopię zapasową z dzisiejszego poranka, więc stracilibyśmy tylko efekty dzisiejszego grania.


#12

Jeśli nie mieszałeś nic w dostępach do plików, to jest to za pewne wina przywrócenia tego backupa z konta root, lub źle skonfigurowana nowa część dysku, o której było wspomniane w poprzednim poście.


#13

Właśnie stworzyłem ticket i bezczelnie podniosłem priorytet z niskiego na normalny.


#14

@Timo: przez cały dzień serwer normalnie działał - ja grałem, kilka innych graczy też grało. Z backupu systemowego nie skorzystałem, wystarczyła kopia zapasowa, którą sobie zrobiłem ja wcześniej za pomocą ftp.


#15

To nie jest kwestia “nowej części dysku”, przeczytaj dokładniej co napisałem. Jest tam mowa o tym, że wymiana dysku przez support nie pomogła.


#16

Badam sprawę, wygląda na problem z węzłem n36.
Na przyszłość proszę umieszczać logi jako kod oraz podobne rzeczy wpisywać w jednym wątku, z góry dzięki :slight_smile:


#17

Dziękuję, że już jest problem badany.
Mnie jako użytkownikowi się wydawało, że to inny rodzaj błędu (w nocy brak miejsca, teraz problem z uprawnieniami lub hardwarem).


#18

VPS znajdujący się na n36 w momencie awarii został zamontowany jako read only.
Po restarcie już się nie uruchomił i do tej pory “leży”.

Aktualnie nie da sie nawet wejść w usługę w panelu, bo pojawia się:


#19

Niestety to kwestia sprzętu, obecnie póki co n36 nie jest dostępne.
Napisałem już do OVH w sprawie wymiany jednak aby przyspieszyć cały proces odtworzę kopie na nowym węźle co niestety trochę potrwa ale jest szansa że będzie szybciej niż reakcja OVH.


Usterka n20.lvlup.pro oraz strony i panelu lvlup.pro
#20

U mnie wymiana dysku niestety nie pomogła, niedługo pózniej znowu było to samo D:

Były już takie przypadki na lvlup? Czy jako posiadacz łącznie 7 maszyn ze zmianami od początku swojej przygody mogę czuć się wyjątkowo, że miałem ten problem? :stuck_out_tongue_winking_eye: